react 0.14.0-alpha2 → 0.14.0-alpha3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/JSXTransformer.js +1 -1
  2. package/dist/react-with-addons.js +223 -207
  3. package/dist/react-with-addons.min.js +6 -6
  4. package/dist/react.js +208 -192
  5. package/dist/react.min.js +5 -5
  6. package/lib/CSSCore.js +3 -3
  7. package/lib/CSSPropertyOperations.js +3 -3
  8. package/lib/CallbackQueue.js +1 -1
  9. package/lib/DOMChildrenOperations.js +1 -1
  10. package/lib/DOMProperty.js +4 -4
  11. package/lib/DOMPropertyOperations.js +1 -1
  12. package/lib/Danger.js +8 -8
  13. package/lib/EventPluginHub.js +3 -3
  14. package/lib/EventPluginRegistry.js +7 -7
  15. package/lib/EventPluginUtils.js +3 -3
  16. package/lib/EventPropagators.js +1 -1
  17. package/lib/HTMLDOMPropertyConfig.js +1 -0
  18. package/lib/LinkedValueUtils.js +3 -3
  19. package/lib/LocalEventTrapMixin.js +2 -2
  20. package/lib/PooledClass.js +1 -1
  21. package/lib/React.js +1 -1
  22. package/lib/ReactBrowserComponentMixin.js +1 -1
  23. package/lib/ReactCSSTransitionGroupChild.js +1 -1
  24. package/lib/ReactChildren.js +1 -1
  25. package/lib/ReactClass.js +18 -18
  26. package/lib/ReactComponent.js +3 -3
  27. package/lib/ReactComponentEnvironment.js +1 -1
  28. package/lib/ReactCompositeComponent.js +17 -21
  29. package/lib/ReactDOMClient.js +1 -1
  30. package/lib/ReactDOMComponent.js +9 -9
  31. package/lib/ReactDOMIDOperations.js +2 -2
  32. package/lib/ReactDOMInput.js +2 -2
  33. package/lib/ReactDOMOption.js +3 -4
  34. package/lib/ReactDOMTextarea.js +4 -4
  35. package/lib/ReactElement.js +1 -1
  36. package/lib/ReactElementValidator.js +8 -8
  37. package/lib/ReactEmptyComponent.js +1 -1
  38. package/lib/ReactFragment.js +5 -5
  39. package/lib/ReactInstanceHandles.js +6 -6
  40. package/lib/ReactMount.js +19 -19
  41. package/lib/ReactNativeComponent.js +1 -1
  42. package/lib/ReactOwner.js +2 -2
  43. package/lib/ReactPropTypes.js +12 -0
  44. package/lib/ReactServerRendering.js +2 -2
  45. package/lib/ReactUpdateQueue.js +6 -6
  46. package/lib/ReactUpdates.js +8 -8
  47. package/lib/SimpleEventPlugin.js +2 -2
  48. package/lib/Transaction.js +2 -2
  49. package/lib/accumulateInto.js +1 -1
  50. package/lib/cloneWithProps.js +1 -1
  51. package/lib/createFullPageComponent.js +1 -1
  52. package/lib/createNodesFromMarkup.js +2 -2
  53. package/lib/findDOMNode.js +3 -3
  54. package/lib/flattenChildren.js +1 -1
  55. package/lib/getMarkupWrap.js +1 -1
  56. package/lib/instantiateReactComponent.js +3 -3
  57. package/lib/keyMirror.js +1 -1
  58. package/lib/onlyChild.js +1 -1
  59. package/lib/toArray.js +3 -3
  60. package/lib/traverseAllChildren.js +2 -2
  61. package/lib/update.js +10 -10
  62. package/lib/validateDOMNesting.js +10 -2
  63. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * JSXTransformer v0.14.0-alpha2
2
+ * JSXTransformer v0.14.0-alpha3
3
3
  */
4
4
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSXTransformer = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * React (with addons) v0.14.0-alpha2
2
+ * React (with addons) v0.14.0-alpha3
3
3
  */
4
4
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
5
5
  /**
@@ -523,7 +523,7 @@ var CSSCore = {
523
523
  * @return {DOMElement} the element passed in
524
524
  */
525
525
  addClass: function (element, className) {
526
- 'production' !== "development" ? invariant(!/\s/.test(className), 'CSSCore.addClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(!/\s/.test(className));
526
+ !!/\s/.test(className) ? 'production' !== "development" ? invariant(false, 'CSSCore.addClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(false) : undefined;
527
527
 
528
528
  if (className) {
529
529
  if (element.classList) {
@@ -543,7 +543,7 @@ var CSSCore = {
543
543
  * @return {DOMElement} the element passed in
544
544
  */
545
545
  removeClass: function (element, className) {
546
- 'production' !== "development" ? invariant(!/\s/.test(className), 'CSSCore.removeClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(!/\s/.test(className));
546
+ !!/\s/.test(className) ? 'production' !== "development" ? invariant(false, 'CSSCore.removeClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(false) : undefined;
547
547
 
548
548
  if (className) {
549
549
  if (element.classList) {
@@ -576,7 +576,7 @@ var CSSCore = {
576
576
  * @return {boolean} true if the element has the class, false if not
577
577
  */
578
578
  hasClass: function (element, className) {
579
- 'production' !== "development" ? invariant(!/\s/.test(className), 'CSS.hasClass takes only a single class name.') : invariant(!/\s/.test(className));
579
+ !!/\s/.test(className) ? 'production' !== "development" ? invariant(false, 'CSS.hasClass takes only a single class name.') : invariant(false) : undefined;
580
580
  if (element.classList) {
581
581
  return !!className && element.classList.contains(className);
582
582
  }
@@ -763,7 +763,7 @@ if ('production' !== "development") {
763
763
  }
764
764
 
765
765
  warnedStyleNames[name] = true;
766
- 'production' !== "development" ? warning(false, 'Unsupported style property %s. Did you mean %s?', name, camelizeStyleName(name)) : null;
766
+ 'production' !== "development" ? warning(false, 'Unsupported style property %s. Did you mean %s?', name, camelizeStyleName(name)) : undefined;
767
767
  };
768
768
 
769
769
  var warnBadVendoredStyleName = function (name) {
@@ -772,7 +772,7 @@ if ('production' !== "development") {
772
772
  }
773
773
 
774
774
  warnedStyleNames[name] = true;
775
- 'production' !== "development" ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)) : null;
775
+ 'production' !== "development" ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)) : undefined;
776
776
  };
777
777
 
778
778
  var warnStyleValueWithSemicolon = function (name, value) {
@@ -781,7 +781,7 @@ if ('production' !== "development") {
781
781
  }
782
782
 
783
783
  warnedStyleValues[value] = true;
784
- 'production' !== "development" ? warning(false, 'Style property values shouldn\'t contain a semicolon. ' + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')) : null;
784
+ 'production' !== "development" ? warning(false, 'Style property values shouldn\'t contain a semicolon. ' + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')) : undefined;
785
785
  };
786
786
 
787
787
  /**
@@ -935,7 +935,7 @@ assign(CallbackQueue.prototype, {
935
935
  var callbacks = this._callbacks;
936
936
  var contexts = this._contexts;
937
937
  if (callbacks) {
938
- 'production' !== "development" ? invariant(callbacks.length === contexts.length, 'Mismatched list of contexts in callback queue') : invariant(callbacks.length === contexts.length);
938
+ !(callbacks.length === contexts.length) ? 'production' !== "development" ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : undefined;
939
939
  this._callbacks = null;
940
940
  this._contexts = null;
941
941
  for (var i = 0; i < callbacks.length; i++) {
@@ -1382,7 +1382,7 @@ var DOMChildrenOperations = {
1382
1382
  var updatedChild = update.parentNode.childNodes[updatedIndex];
1383
1383
  var parentID = update.parentID;
1384
1384
 
1385
- 'production' !== "development" ? invariant(updatedChild, 'processUpdates(): Unable to find child %s of element. This ' + 'probably means the DOM was unexpectedly mutated (e.g., by the ' + 'browser), usually due to forgetting a <tbody> when using tables, ' + 'nesting tags like <form>, <p>, or <a>, or using non-SVG elements ' + 'in an <svg> parent. Try inspecting the child nodes of the element ' + 'with React ID `%s`.', updatedIndex, parentID) : invariant(updatedChild);
1385
+ !updatedChild ? 'production' !== "development" ? invariant(false, 'processUpdates(): Unable to find child %s of element. This ' + 'probably means the DOM was unexpectedly mutated (e.g., by the ' + 'browser), usually due to forgetting a <tbody> when using tables, ' + 'nesting tags like <form>, <p>, or <a>, or using non-SVG elements ' + 'in an <svg> parent. Try inspecting the child nodes of the element ' + 'with React ID `%s`.', updatedIndex, parentID) : invariant(false) : undefined;
1386
1386
 
1387
1387
  initialChildren = initialChildren || {};
1388
1388
  initialChildren[parentID] = initialChildren[parentID] || [];
@@ -1498,7 +1498,7 @@ var DOMPropertyInjection = {
1498
1498
  }
1499
1499
 
1500
1500
  for (var propName in Properties) {
1501
- 'production' !== "development" ? invariant(!DOMProperty.isStandardName.hasOwnProperty(propName), 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(!DOMProperty.isStandardName.hasOwnProperty(propName));
1501
+ !!DOMProperty.isStandardName.hasOwnProperty(propName) ? 'production' !== "development" ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : undefined;
1502
1502
 
1503
1503
  DOMProperty.isStandardName[propName] = true;
1504
1504
 
@@ -1536,9 +1536,9 @@ var DOMPropertyInjection = {
1536
1536
  DOMProperty.hasPositiveNumericValue[propName] = checkMask(propConfig, DOMPropertyInjection.HAS_POSITIVE_NUMERIC_VALUE);
1537
1537
  DOMProperty.hasOverloadedBooleanValue[propName] = checkMask(propConfig, DOMPropertyInjection.HAS_OVERLOADED_BOOLEAN_VALUE);
1538
1538
 
1539
- 'production' !== "development" ? invariant(!DOMProperty.mustUseAttribute[propName] || !DOMProperty.mustUseProperty[propName], 'DOMProperty: Cannot require using both attribute and property: %s', propName) : invariant(!DOMProperty.mustUseAttribute[propName] || !DOMProperty.mustUseProperty[propName]);
1540
- 'production' !== "development" ? invariant(DOMProperty.mustUseProperty[propName] || !DOMProperty.hasSideEffects[propName], 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(DOMProperty.mustUseProperty[propName] || !DOMProperty.hasSideEffects[propName]);
1541
- 'production' !== "development" ? invariant(!!DOMProperty.hasBooleanValue[propName] + !!DOMProperty.hasNumericValue[propName] + !!DOMProperty.hasOverloadedBooleanValue[propName] <= 1, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(!!DOMProperty.hasBooleanValue[propName] + !!DOMProperty.hasNumericValue[propName] + !!DOMProperty.hasOverloadedBooleanValue[propName] <= 1);
1539
+ !(!DOMProperty.mustUseAttribute[propName] || !DOMProperty.mustUseProperty[propName]) ? 'production' !== "development" ? invariant(false, 'DOMProperty: Cannot require using both attribute and property: %s', propName) : invariant(false) : undefined;
1540
+ !(DOMProperty.mustUseProperty[propName] || !DOMProperty.hasSideEffects[propName]) ? 'production' !== "development" ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : undefined;
1541
+ !(!!DOMProperty.hasBooleanValue[propName] + !!DOMProperty.hasNumericValue[propName] + !!DOMProperty.hasOverloadedBooleanValue[propName] <= 1) ? 'production' !== "development" ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : undefined;
1542
1542
  }
1543
1543
  }
1544
1544
  };
@@ -1740,7 +1740,7 @@ if ('production' !== "development") {
1740
1740
 
1741
1741
  // For now, only warn when we have a suggested correction. This prevents
1742
1742
  // logging too much when using transferPropsTo.
1743
- 'production' !== "development" ? warning(standardName == null, 'Unknown DOM property %s. Did you mean %s?', name, standardName) : null;
1743
+ 'production' !== "development" ? warning(standardName == null, 'Unknown DOM property %s. Did you mean %s?', name, standardName) : undefined;
1744
1744
  };
1745
1745
  }
1746
1746
 
@@ -1914,12 +1914,12 @@ var Danger = {
1914
1914
  * @internal
1915
1915
  */
1916
1916
  dangerouslyRenderMarkup: function (markupList) {
1917
- 'production' !== "development" ? invariant(ExecutionEnvironment.canUseDOM, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(ExecutionEnvironment.canUseDOM);
1917
+ !ExecutionEnvironment.canUseDOM ? 'production' !== "development" ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(false) : undefined;
1918
1918
  var nodeName;
1919
1919
  var markupByNodeName = {};
1920
1920
  // Group markup by `nodeName` if a wrap is necessary, else by '*'.
1921
1921
  for (var i = 0; i < markupList.length; i++) {
1922
- 'production' !== "development" ? invariant(markupList[i], 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(markupList[i]);
1922
+ !markupList[i] ? 'production' !== "development" ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : undefined;
1923
1923
  nodeName = getNodeName(markupList[i]);
1924
1924
  nodeName = getMarkupWrap(nodeName) ? nodeName : '*';
1925
1925
  markupByNodeName[nodeName] = markupByNodeName[nodeName] || [];
@@ -1961,7 +1961,7 @@ var Danger = {
1961
1961
  resultIndex = +renderNode.getAttribute(RESULT_INDEX_ATTR);
1962
1962
  renderNode.removeAttribute(RESULT_INDEX_ATTR);
1963
1963
 
1964
- 'production' !== "development" ? invariant(!resultList.hasOwnProperty(resultIndex), 'Danger: Assigning to an already-occupied result index.') : invariant(!resultList.hasOwnProperty(resultIndex));
1964
+ !!resultList.hasOwnProperty(resultIndex) ? 'production' !== "development" ? invariant(false, 'Danger: Assigning to an already-occupied result index.') : invariant(false) : undefined;
1965
1965
 
1966
1966
  resultList[resultIndex] = renderNode;
1967
1967
 
@@ -1976,9 +1976,9 @@ var Danger = {
1976
1976
 
1977
1977
  // Although resultList was populated out of order, it should now be a dense
1978
1978
  // array.
1979
- 'production' !== "development" ? invariant(resultListAssignmentCount === resultList.length, 'Danger: Did not assign to every index of resultList.') : invariant(resultListAssignmentCount === resultList.length);
1979
+ !(resultListAssignmentCount === resultList.length) ? 'production' !== "development" ? invariant(false, 'Danger: Did not assign to every index of resultList.') : invariant(false) : undefined;
1980
1980
 
1981
- 'production' !== "development" ? invariant(resultList.length === markupList.length, 'Danger: Expected markup to render %s nodes, but rendered %s.', markupList.length, resultList.length) : invariant(resultList.length === markupList.length);
1981
+ !(resultList.length === markupList.length) ? 'production' !== "development" ? invariant(false, 'Danger: Expected markup to render %s nodes, but rendered %s.', markupList.length, resultList.length) : invariant(false) : undefined;
1982
1982
 
1983
1983
  return resultList;
1984
1984
  },
@@ -1992,9 +1992,9 @@ var Danger = {
1992
1992
  * @internal
1993
1993
  */
1994
1994
  dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {
1995
- 'production' !== "development" ? invariant(ExecutionEnvironment.canUseDOM, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a ' + 'worker thread. Make sure `window` and `document` are available ' + 'globally before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(ExecutionEnvironment.canUseDOM);
1996
- 'production' !== "development" ? invariant(markup, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : invariant(markup);
1997
- 'production' !== "development" ? invariant(oldChild.tagName.toLowerCase() !== 'html', 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the ' + '<html> node. This is because browser quirks make this unreliable ' + 'and/or slow. If you want to render to the root you must use ' + 'server rendering. See React.renderToString().') : invariant(oldChild.tagName.toLowerCase() !== 'html');
1995
+ !ExecutionEnvironment.canUseDOM ? 'production' !== "development" ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a ' + 'worker thread. Make sure `window` and `document` are available ' + 'globally before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(false) : undefined;
1996
+ !markup ? 'production' !== "development" ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : invariant(false) : undefined;
1997
+ !(oldChild.tagName.toLowerCase() !== 'html') ? 'production' !== "development" ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the ' + '<html> node. This is because browser quirks make this unreliable ' + 'and/or slow. If you want to render to the root you must use ' + 'server rendering. See React.renderToString().') : invariant(false) : undefined;
1998
1998
 
1999
1999
  var newChild = createNodesFromMarkup(markup, emptyFunction)[0];
2000
2000
  oldChild.parentNode.replaceChild(newChild, oldChild);
@@ -2367,7 +2367,7 @@ var InstanceHandle = null;
2367
2367
 
2368
2368
  function validateInstanceHandle() {
2369
2369
  var valid = InstanceHandle && InstanceHandle.traverseTwoPhase && InstanceHandle.traverseEnterLeave;
2370
- 'production' !== "development" ? warning(valid, 'InstanceHandle not injected before use!') : null;
2370
+ 'production' !== "development" ? warning(valid, 'InstanceHandle not injected before use!') : undefined;
2371
2371
  }
2372
2372
 
2373
2373
  /**
@@ -2448,7 +2448,7 @@ var EventPluginHub = {
2448
2448
  * @param {?function} listener The callback to store.
2449
2449
  */
2450
2450
  putListener: function (id, registrationName, listener) {
2451
- 'production' !== "development" ? invariant(typeof listener === 'function', 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(typeof listener === 'function');
2451
+ !(typeof listener === 'function') ? 'production' !== "development" ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : undefined;
2452
2452
 
2453
2453
  var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});
2454
2454
  bankForRegistrationName[id] = listener;
@@ -2559,7 +2559,7 @@ var EventPluginHub = {
2559
2559
  var processingEventQueue = eventQueue;
2560
2560
  eventQueue = null;
2561
2561
  forEachAccumulated(processingEventQueue, executeDispatchesAndRelease);
2562
- 'production' !== "development" ? invariant(!eventQueue, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(!eventQueue);
2562
+ !!eventQueue ? 'production' !== "development" ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : undefined;
2563
2563
  },
2564
2564
 
2565
2565
  /**
@@ -2616,15 +2616,15 @@ function recomputePluginOrdering() {
2616
2616
  for (var pluginName in namesToPlugins) {
2617
2617
  var PluginModule = namesToPlugins[pluginName];
2618
2618
  var pluginIndex = EventPluginOrder.indexOf(pluginName);
2619
- 'production' !== "development" ? invariant(pluginIndex > -1, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(pluginIndex > -1);
2619
+ !(pluginIndex > -1) ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : undefined;
2620
2620
  if (EventPluginRegistry.plugins[pluginIndex]) {
2621
2621
  continue;
2622
2622
  }
2623
- 'production' !== "development" ? invariant(PluginModule.extractEvents, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(PluginModule.extractEvents);
2623
+ !PluginModule.extractEvents ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : undefined;
2624
2624
  EventPluginRegistry.plugins[pluginIndex] = PluginModule;
2625
2625
  var publishedEvents = PluginModule.eventTypes;
2626
2626
  for (var eventName in publishedEvents) {
2627
- 'production' !== "development" ? invariant(publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName), 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName));
2627
+ !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : undefined;
2628
2628
  }
2629
2629
  }
2630
2630
  }
@@ -2638,7 +2638,7 @@ function recomputePluginOrdering() {
2638
2638
  * @private
2639
2639
  */
2640
2640
  function publishEventForPlugin(dispatchConfig, PluginModule, eventName) {
2641
- 'production' !== "development" ? invariant(!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName), 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName));
2641
+ !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? 'production' !== "development" ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : undefined;
2642
2642
  EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;
2643
2643
 
2644
2644
  var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
@@ -2666,7 +2666,7 @@ function publishEventForPlugin(dispatchConfig, PluginModule, eventName) {
2666
2666
  * @private
2667
2667
  */
2668
2668
  function publishRegistrationName(registrationName, PluginModule, eventName) {
2669
- 'production' !== "development" ? invariant(!EventPluginRegistry.registrationNameModules[registrationName], 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(!EventPluginRegistry.registrationNameModules[registrationName]);
2669
+ !!EventPluginRegistry.registrationNameModules[registrationName] ? 'production' !== "development" ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : undefined;
2670
2670
  EventPluginRegistry.registrationNameModules[registrationName] = PluginModule;
2671
2671
  EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies;
2672
2672
  }
@@ -2708,7 +2708,7 @@ var EventPluginRegistry = {
2708
2708
  * @see {EventPluginHub.injection.injectEventPluginOrder}
2709
2709
  */
2710
2710
  injectEventPluginOrder: function (InjectedEventPluginOrder) {
2711
- 'production' !== "development" ? invariant(!EventPluginOrder, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(!EventPluginOrder);
2711
+ !!EventPluginOrder ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : undefined;
2712
2712
  // Clone the ordering so it cannot be dynamically mutated.
2713
2713
  EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);
2714
2714
  recomputePluginOrdering();
@@ -2732,7 +2732,7 @@ var EventPluginRegistry = {
2732
2732
  }
2733
2733
  var PluginModule = injectedNamesToPlugins[pluginName];
2734
2734
  if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) {
2735
- 'production' !== "development" ? invariant(!namesToPlugins[pluginName], 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(!namesToPlugins[pluginName]);
2735
+ !!namesToPlugins[pluginName] ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : undefined;
2736
2736
  namesToPlugins[pluginName] = PluginModule;
2737
2737
  isOrderingDirty = true;
2738
2738
  }
@@ -2829,7 +2829,7 @@ var injection = {
2829
2829
  injectMount: function (InjectedMount) {
2830
2830
  injection.Mount = InjectedMount;
2831
2831
  if ('production' !== "development") {
2832
- 'production' !== "development" ? warning(InjectedMount && InjectedMount.getNode && InjectedMount.getID, 'EventPluginUtils.injection.injectMount(...): Injected Mount ' + 'module is missing getNode or getID.') : null;
2832
+ 'production' !== "development" ? warning(InjectedMount && InjectedMount.getNode && InjectedMount.getID, 'EventPluginUtils.injection.injectMount(...): Injected Mount ' + 'module is missing getNode or getID.') : undefined;
2833
2833
  }
2834
2834
  }
2835
2835
  };
@@ -2858,7 +2858,7 @@ if ('production' !== "development") {
2858
2858
  var IDsLen = idsIsArr ? dispatchIDs.length : dispatchIDs ? 1 : 0;
2859
2859
  var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;
2860
2860
 
2861
- 'production' !== "development" ? warning(idsIsArr === listenersIsArr && IDsLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : null;
2861
+ 'production' !== "development" ? warning(idsIsArr === listenersIsArr && IDsLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : undefined;
2862
2862
  };
2863
2863
  }
2864
2864
 
@@ -2964,7 +2964,7 @@ function executeDirectDispatch(event) {
2964
2964
  }
2965
2965
  var dispatchListener = event._dispatchListeners;
2966
2966
  var dispatchID = event._dispatchIDs;
2967
- 'production' !== "development" ? invariant(!Array.isArray(dispatchListener), 'executeDirectDispatch(...): Invalid `event`.') : invariant(!Array.isArray(dispatchListener));
2967
+ !!Array.isArray(dispatchListener) ? 'production' !== "development" ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : undefined;
2968
2968
  var res = dispatchListener ? dispatchListener(event, dispatchID) : null;
2969
2969
  event._dispatchListeners = null;
2970
2970
  event._dispatchIDs = null;
@@ -3046,7 +3046,7 @@ function listenerAtPhase(id, event, propagationPhase) {
3046
3046
  */
3047
3047
  function accumulateDirectionalDispatches(domID, upwards, event) {
3048
3048
  if ('production' !== "development") {
3049
- 'production' !== "development" ? warning(domID, 'Dispatching id must not be null') : null;
3049
+ 'production' !== "development" ? warning(domID, 'Dispatching id must not be null') : undefined;
3050
3050
  }
3051
3051
  var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;
3052
3052
  var listener = listenerAtPhase(domID, event, phase);
@@ -3318,6 +3318,7 @@ var HTMLDOMPropertyConfig = {
3318
3318
  // autoFocus is polyfilled/normalized by AutoFocusMixin
3319
3319
  // autoFocus: HAS_BOOLEAN_VALUE,
3320
3320
  autoPlay: HAS_BOOLEAN_VALUE,
3321
+ capture: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
3321
3322
  cellPadding: null,
3322
3323
  cellSpacing: null,
3323
3324
  charSet: MUST_USE_ATTRIBUTE,
@@ -3533,16 +3534,16 @@ var hasReadOnlyValue = {
3533
3534
  };
3534
3535
 
3535
3536
  function _assertSingleLink(inputProps) {
3536
- 'production' !== "development" ? invariant(inputProps.checkedLink == null || inputProps.valueLink == null, 'Cannot provide a checkedLink and a valueLink. If you want to use ' + 'checkedLink, you probably don\'t want to use valueLink and vice versa.') : invariant(inputProps.checkedLink == null || inputProps.valueLink == null);
3537
+ !(inputProps.checkedLink == null || inputProps.valueLink == null) ? 'production' !== "development" ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use ' + 'checkedLink, you probably don\'t want to use valueLink and vice versa.') : invariant(false) : undefined;
3537
3538
  }
3538
3539
  function _assertValueLink(inputProps) {
3539
3540
  _assertSingleLink(inputProps);
3540
- 'production' !== "development" ? invariant(inputProps.value == null && inputProps.onChange == null, 'Cannot provide a valueLink and a value or onChange event. If you want ' + 'to use value or onChange, you probably don\'t want to use valueLink.') : invariant(inputProps.value == null && inputProps.onChange == null);
3541
+ !(inputProps.value == null && inputProps.onChange == null) ? 'production' !== "development" ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want ' + 'to use value or onChange, you probably don\'t want to use valueLink.') : invariant(false) : undefined;
3541
3542
  }
3542
3543
 
3543
3544
  function _assertCheckedLink(inputProps) {
3544
3545
  _assertSingleLink(inputProps);
3545
- 'production' !== "development" ? invariant(inputProps.checked == null && inputProps.onChange == null, 'Cannot provide a checkedLink and a checked property or onChange event. ' + 'If you want to use checked or onChange, you probably don\'t want to ' + 'use checkedLink') : invariant(inputProps.checked == null && inputProps.onChange == null);
3546
+ !(inputProps.checked == null && inputProps.onChange == null) ? 'production' !== "development" ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. ' + 'If you want to use checked or onChange, you probably don\'t want to ' + 'use checkedLink') : invariant(false) : undefined;
3546
3547
  }
3547
3548
 
3548
3549
  /**
@@ -3653,11 +3654,11 @@ function remove(event) {
3653
3654
 
3654
3655
  var LocalEventTrapMixin = {
3655
3656
  trapBubbledEvent: function (topLevelType, handlerBaseName) {
3656
- 'production' !== "development" ? invariant(this.isMounted(), 'Must be mounted to trap events') : invariant(this.isMounted());
3657
+ !this.isMounted() ? 'production' !== "development" ? invariant(false, 'Must be mounted to trap events') : invariant(false) : undefined;
3657
3658
  // If a component renders to null or if another component fatals and causes
3658
3659
  // the state of the tree to be corrupted, `node` here can be null.
3659
3660
  var node = findDOMNode(this);
3660
- 'production' !== "development" ? invariant(node, 'LocalEventTrapMixin.trapBubbledEvent(...): Requires node to be rendered.') : invariant(node);
3661
+ !node ? 'production' !== "development" ? invariant(false, 'LocalEventTrapMixin.trapBubbledEvent(...): Requires node to be rendered.') : invariant(false) : undefined;
3661
3662
  var listener = ReactBrowserEventEmitter.trapBubbledEvent(topLevelType, handlerBaseName, node);
3662
3663
  this._localEventListeners = accumulateInto(this._localEventListeners, listener);
3663
3664
  },
@@ -3790,7 +3791,7 @@ var fiveArgumentPooler = function (a1, a2, a3, a4, a5) {
3790
3791
 
3791
3792
  var standardReleaser = function (instance) {
3792
3793
  var Klass = this;
3793
- 'production' !== "development" ? invariant(instance instanceof Klass, 'Trying to release an instance into a pool of a different type.') : invariant(instance instanceof Klass);
3794
+ !(instance instanceof Klass) ? 'production' !== "development" ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : undefined;
3794
3795
  if (instance.destructor) {
3795
3796
  instance.destructor();
3796
3797
  }
@@ -3857,7 +3858,7 @@ assign(React, ReactIsomorphic);
3857
3858
  assign(React, ReactDOMClient);
3858
3859
  assign(React, ReactDOMServer);
3859
3860
 
3860
- React.version = '0.14.0-alpha2';
3861
+ React.version = '0.14.0-alpha3';
3861
3862
 
3862
3863
  module.exports = React;
3863
3864
  },{"28":28,"47":47,"57":57,"75":75}],31:[function(_dereq_,module,exports){
@@ -3890,7 +3891,7 @@ var ReactBrowserComponentMixin = {
3890
3891
  * @protected
3891
3892
  */
3892
3893
  getDOMNode: function () {
3893
- 'production' !== "development" ? warning(this.constructor[didWarnKey], '%s.getDOMNode(...) is deprecated. Please use ' + 'React.findDOMNode(instance) instead.', ReactInstanceMap.get(this).getName() || this.tagName || 'Unknown') : null;
3894
+ 'production' !== "development" ? warning(this.constructor[didWarnKey], '%s.getDOMNode(...) is deprecated. Please use ' + 'React.findDOMNode(instance) instead.', ReactInstanceMap.get(this).getName() || this.tagName || 'Unknown') : undefined;
3894
3895
  this.constructor[didWarnKey] = true;
3895
3896
  return findDOMNode(this);
3896
3897
  }
@@ -4285,7 +4286,7 @@ var noEventListener = null;
4285
4286
 
4286
4287
  if ('production' !== "development") {
4287
4288
  noEventListener = function () {
4288
- 'production' !== "development" ? warning(false, 'transition(): tried to perform an animation without ' + 'an animationend or transitionend event after timeout (' + '%sms). You should either disable this ' + 'transition in JS or add a CSS animation/transition.', NO_EVENT_TIMEOUT) : null;
4289
+ 'production' !== "development" ? warning(false, 'transition(): tried to perform an animation without ' + 'an animationend or transitionend event after timeout (' + '%sms). You should either disable this ' + 'transition in JS or add a CSS animation/transition.', NO_EVENT_TIMEOUT) : undefined;
4289
4290
  };
4290
4291
  }
4291
4292
 
@@ -4590,7 +4591,7 @@ function mapSingleChildIntoContext(traverseContext, child, name) {
4590
4591
 
4591
4592
  var keyUnique = mapResult[name] === undefined;
4592
4593
  if ('production' !== "development") {
4593
- 'production' !== "development" ? warning(keyUnique, 'ReactChildren.map(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : null;
4594
+ 'production' !== "development" ? warning(keyUnique, 'ReactChildren.map(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : undefined;
4594
4595
  }
4595
4596
 
4596
4597
  if (keyUnique) {
@@ -5010,7 +5011,7 @@ function validateTypeDef(Constructor, typeDef, location) {
5010
5011
  if (typeDef.hasOwnProperty(propName)) {
5011
5012
  // use a warning instead of an invariant so components
5012
5013
  // don't show up in prod but not in __DEV__
5013
- 'production' !== "development" ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : null;
5014
+ 'production' !== "development" ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : undefined;
5014
5015
  }
5015
5016
  }
5016
5017
  }
@@ -5020,12 +5021,12 @@ function validateMethodOverride(proto, name) {
5020
5021
 
5021
5022
  // Disallow overriding of base class methods unless explicitly allowed.
5022
5023
  if (ReactClassMixin.hasOwnProperty(name)) {
5023
- 'production' !== "development" ? invariant(specPolicy === SpecPolicy.OVERRIDE_BASE, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(specPolicy === SpecPolicy.OVERRIDE_BASE);
5024
+ !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? 'production' !== "development" ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : undefined;
5024
5025
  }
5025
5026
 
5026
5027
  // Disallow defining methods more than once unless explicitly allowed.
5027
5028
  if (proto.hasOwnProperty(name)) {
5028
- 'production' !== "development" ? invariant(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED);
5029
+ !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? 'production' !== "development" ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : undefined;
5029
5030
  }
5030
5031
  }
5031
5032
 
@@ -5038,8 +5039,8 @@ function mixSpecIntoComponent(Constructor, spec) {
5038
5039
  return;
5039
5040
  }
5040
5041
 
5041
- 'production' !== "development" ? invariant(typeof spec !== 'function', 'ReactClass: You\'re attempting to ' + 'use a component class as a mixin. Instead, just use a regular object.') : invariant(typeof spec !== 'function');
5042
- 'production' !== "development" ? invariant(!ReactElement.isValidElement(spec), 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(!ReactElement.isValidElement(spec));
5042
+ !(typeof spec !== 'function') ? 'production' !== "development" ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class as a mixin. Instead, just use a regular object.') : invariant(false) : undefined;
5043
+ !!ReactElement.isValidElement(spec) ? 'production' !== "development" ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : undefined;
5043
5044
 
5044
5045
  var proto = Constructor.prototype;
5045
5046
 
@@ -5086,7 +5087,7 @@ function mixSpecIntoComponent(Constructor, spec) {
5086
5087
  var specPolicy = ReactClassInterface[name];
5087
5088
 
5088
5089
  // These cases should already be caught by validateMethodOverride.
5089
- 'production' !== "development" ? invariant(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY));
5090
+ !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? 'production' !== "development" ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : undefined;
5090
5091
 
5091
5092
  // For methods which are defined more than once, call the existing
5092
5093
  // methods before calling the new property, merging if appropriate.
@@ -5121,10 +5122,10 @@ function mixStaticSpecIntoComponent(Constructor, statics) {
5121
5122
  }
5122
5123
 
5123
5124
  var isReserved = (name in RESERVED_SPEC_KEYS);
5124
- 'production' !== "development" ? invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(!isReserved);
5125
+ !!isReserved ? 'production' !== "development" ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : undefined;
5125
5126
 
5126
5127
  var isInherited = (name in Constructor);
5127
- 'production' !== "development" ? invariant(!isInherited, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(!isInherited);
5128
+ !!isInherited ? 'production' !== "development" ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : undefined;
5128
5129
  Constructor[name] = property;
5129
5130
  }
5130
5131
  }
@@ -5137,11 +5138,11 @@ function mixStaticSpecIntoComponent(Constructor, statics) {
5137
5138
  * @return {object} one after it has been mutated to contain everything in two.
5138
5139
  */
5139
5140
  function mergeIntoWithNoDuplicateKeys(one, two) {
5140
- 'production' !== "development" ? invariant(one && two && typeof one === 'object' && typeof two === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(one && two && typeof one === 'object' && typeof two === 'object');
5141
+ !(one && two && typeof one === 'object' && typeof two === 'object') ? 'production' !== "development" ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : undefined;
5141
5142
 
5142
5143
  for (var key in two) {
5143
5144
  if (two.hasOwnProperty(key)) {
5144
- 'production' !== "development" ? invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(one[key] === undefined);
5145
+ !(one[key] === undefined) ? 'production' !== "development" ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : undefined;
5145
5146
  one[key] = two[key];
5146
5147
  }
5147
5148
  }
@@ -5212,9 +5213,9 @@ function bindAutoBindMethod(component, method) {
5212
5213
  // ignore the value of "this" that the user is trying to use, so
5213
5214
  // let's warn.
5214
5215
  if (newThis !== component && newThis !== null) {
5215
- 'production' !== "development" ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : null;
5216
+ 'production' !== "development" ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : undefined;
5216
5217
  } else if (!args.length) {
5217
- 'production' !== "development" ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : null;
5218
+ 'production' !== "development" ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : undefined;
5218
5219
  return boundMethod;
5219
5220
  }
5220
5221
  var reboundMethod = _bind.apply(boundMethod, arguments);
@@ -5246,7 +5247,7 @@ var typeDeprecationDescriptor = {
5246
5247
  enumerable: false,
5247
5248
  get: function () {
5248
5249
  var displayName = this.displayName || this.name || 'Component';
5249
- 'production' !== "development" ? warning(false, '%s.type is deprecated. Use %s directly to access the class.', displayName, displayName) : null;
5250
+ 'production' !== "development" ? warning(false, '%s.type is deprecated. Use %s directly to access the class.', displayName, displayName) : undefined;
5250
5251
  Object.defineProperty(this, 'type', {
5251
5252
  value: this
5252
5253
  });
@@ -5281,7 +5282,7 @@ var ReactClassMixin = {
5281
5282
  if ('production' !== "development") {
5282
5283
  var owner = ReactCurrentOwner.current;
5283
5284
  if (owner !== null) {
5284
- 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : null;
5285
+ 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : undefined;
5285
5286
  owner._warnedAboutRefsInRender = true;
5286
5287
  }
5287
5288
  }
@@ -5349,7 +5350,7 @@ var ReactClass = {
5349
5350
  // by mocks to assert on what gets mounted.
5350
5351
 
5351
5352
  if ('production' !== "development") {
5352
- 'production' !== "development" ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : null;
5353
+ 'production' !== "development" ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : undefined;
5353
5354
  }
5354
5355
 
5355
5356
  // Wire up auto-binding
@@ -5373,7 +5374,7 @@ var ReactClass = {
5373
5374
  initialState = null;
5374
5375
  }
5375
5376
  }
5376
- 'production' !== "development" ? invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(typeof initialState === 'object' && !Array.isArray(initialState));
5377
+ !(typeof initialState === 'object' && !Array.isArray(initialState)) ? 'production' !== "development" ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : undefined;
5377
5378
 
5378
5379
  this.state = initialState;
5379
5380
  };
@@ -5402,10 +5403,10 @@ var ReactClass = {
5402
5403
  }
5403
5404
  }
5404
5405
 
5405
- 'production' !== "development" ? invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.') : invariant(Constructor.prototype.render);
5406
+ !Constructor.prototype.render ? 'production' !== "development" ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : undefined;
5406
5407
 
5407
5408
  if ('production' !== "development") {
5408
- 'production' !== "development" ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : null;
5409
+ 'production' !== "development" ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : undefined;
5409
5410
  }
5410
5411
 
5411
5412
  // Reduce time spent doing lookups by setting these on the prototype.
@@ -5490,9 +5491,9 @@ function ReactComponent(props, context) {
5490
5491
  * @protected
5491
5492
  */
5492
5493
  ReactComponent.prototype.setState = function (partialState, callback) {
5493
- 'production' !== "development" ? invariant(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null);
5494
+ !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? 'production' !== "development" ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : undefined;
5494
5495
  if ('production' !== "development") {
5495
- 'production' !== "development" ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : null;
5496
+ 'production' !== "development" ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : undefined;
5496
5497
  }
5497
5498
  ReactUpdateQueue.enqueueSetState(this, partialState);
5498
5499
  if (callback) {
@@ -5538,7 +5539,7 @@ if ('production' !== "development") {
5538
5539
  try {
5539
5540
  Object.defineProperty(ReactComponent.prototype, methodName, {
5540
5541
  get: function () {
5541
- 'production' !== "development" ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : null;
5542
+ 'production' !== "development" ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : undefined;
5542
5543
  return undefined;
5543
5544
  }
5544
5545
  });
@@ -5637,7 +5638,7 @@ var ReactComponentEnvironment = {
5637
5638
 
5638
5639
  injection: {
5639
5640
  injectEnvironment: function (environment) {
5640
- 'production' !== "development" ? invariant(!injected, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : invariant(!injected);
5641
+ !!injected ? 'production' !== "development" ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : invariant(false) : undefined;
5641
5642
  ReactComponentEnvironment.unmountIDFromEnvironment = environment.unmountIDFromEnvironment;
5642
5643
  ReactComponentEnvironment.replaceNodeWithMarkupByID = environment.replaceNodeWithMarkupByID;
5643
5644
  ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;
@@ -5833,7 +5834,7 @@ var ReactCompositeComponentMixin = {
5833
5834
  if ('production' !== "development") {
5834
5835
  // This will throw later in _renderValidatedComponent, but add an early
5835
5836
  // warning now to help debugging
5836
- 'production' !== "development" ? warning(inst.render != null, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render` in your ' + 'component or you may have accidentally tried to render an element ' + 'whose type is a function that isn\'t a React component.', Component.displayName || Component.name || 'Component') : null;
5837
+ 'production' !== "development" ? warning(inst.render != null, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render` in your ' + 'component or you may have accidentally tried to render an element ' + 'whose type is a function that isn\'t a React component.', Component.displayName || Component.name || 'Component') : undefined;
5837
5838
  }
5838
5839
 
5839
5840
  // These should be set up in the constructor, but as a convenience for
@@ -5851,18 +5852,18 @@ var ReactCompositeComponentMixin = {
5851
5852
  // Since plain JS classes are defined without any special initialization
5852
5853
  // logic, we can not catch common errors early. Therefore, we have to
5853
5854
  // catch them here, at initialization time, instead.
5854
- 'production' !== "development" ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : null;
5855
- 'production' !== "development" ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : null;
5856
- 'production' !== "development" ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : null;
5857
- 'production' !== "development" ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : null;
5858
- 'production' !== "development" ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : null;
5855
+ 'production' !== "development" ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : undefined;
5856
+ 'production' !== "development" ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : undefined;
5857
+ 'production' !== "development" ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : undefined;
5858
+ 'production' !== "development" ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : undefined;
5859
+ 'production' !== "development" ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : undefined;
5859
5860
  }
5860
5861
 
5861
5862
  var initialState = inst.state;
5862
5863
  if (initialState === undefined) {
5863
5864
  inst.state = initialState = null;
5864
5865
  }
5865
- 'production' !== "development" ? invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : invariant(typeof initialState === 'object' && !Array.isArray(initialState));
5866
+ !(typeof initialState === 'object' && !Array.isArray(initialState)) ? 'production' !== "development" ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined;
5866
5867
 
5867
5868
  this._pendingStateQueue = null;
5868
5869
  this._pendingReplaceState = false;
@@ -5970,12 +5971,8 @@ var ReactCompositeComponentMixin = {
5970
5971
  */
5971
5972
  _maskContext: function (context) {
5972
5973
  var maskedContext = null;
5973
- // This really should be getting the component class for the element,
5974
- // but we know that we're not going to need it for built-ins.
5975
- if (typeof this._currentElement.type === 'string') {
5976
- return emptyObject;
5977
- }
5978
- var contextTypes = this._currentElement.type.contextTypes;
5974
+ var Component = ReactNativeComponent.getComponentClassForElement(this._currentElement);
5975
+ var contextTypes = Component.contextTypes;
5979
5976
  if (!contextTypes) {
5980
5977
  return emptyObject;
5981
5978
  }
@@ -6014,12 +6011,12 @@ var ReactCompositeComponentMixin = {
6014
6011
  var inst = this._instance;
6015
6012
  var childContext = inst.getChildContext && inst.getChildContext();
6016
6013
  if (childContext) {
6017
- 'production' !== "development" ? invariant(typeof inst.constructor.childContextTypes === 'object', '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', this.getName() || 'ReactCompositeComponent') : invariant(typeof inst.constructor.childContextTypes === 'object');
6014
+ !(typeof inst.constructor.childContextTypes === 'object') ? 'production' !== "development" ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined;
6018
6015
  if ('production' !== "development") {
6019
6016
  this._checkPropTypes(inst.constructor.childContextTypes, childContext, ReactPropTypeLocations.childContext);
6020
6017
  }
6021
6018
  for (var name in childContext) {
6022
- 'production' !== "development" ? invariant(name in inst.constructor.childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : invariant(name in inst.constructor.childContextTypes);
6019
+ !(name in inst.constructor.childContextTypes) ? 'production' !== "development" ? invariant(false, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : invariant(false) : undefined;
6023
6020
  }
6024
6021
  return assign({}, currentContext, childContext);
6025
6022
  }
@@ -6063,7 +6060,7 @@ var ReactCompositeComponentMixin = {
6063
6060
  try {
6064
6061
  // This is intentionally an invariant that gets caught. It's the same
6065
6062
  // behavior as without this statement except with a better message.
6066
- 'production' !== "development" ? invariant(typeof propTypes[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually ' + 'from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(typeof propTypes[propName] === 'function');
6063
+ !(typeof propTypes[propName] === 'function') ? 'production' !== "development" ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually ' + 'from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : undefined;
6067
6064
  error = propTypes[propName](props, propName, componentName, location);
6068
6065
  } catch (ex) {
6069
6066
  error = ex;
@@ -6076,9 +6073,9 @@ var ReactCompositeComponentMixin = {
6076
6073
 
6077
6074
  if (location === ReactPropTypeLocations.prop) {
6078
6075
  // Preface gives us something to blacklist in warning module
6079
- 'production' !== "development" ? warning(false, 'Failed Composite propType: %s%s', error.message, addendum) : null;
6076
+ 'production' !== "development" ? warning(false, 'Failed Composite propType: %s%s', error.message, addendum) : undefined;
6080
6077
  } else {
6081
- 'production' !== "development" ? warning(false, 'Failed Context Types: %s%s', error.message, addendum) : null;
6078
+ 'production' !== "development" ? warning(false, 'Failed Context Types: %s%s', error.message, addendum) : undefined;
6082
6079
  }
6083
6080
  }
6084
6081
  }
@@ -6155,7 +6152,7 @@ var ReactCompositeComponentMixin = {
6155
6152
  var shouldUpdate = this._pendingForceUpdate || !inst.shouldComponentUpdate || inst.shouldComponentUpdate(nextProps, nextState, nextContext);
6156
6153
 
6157
6154
  if ('production' !== "development") {
6158
- 'production' !== "development" ? warning(typeof shouldUpdate !== 'undefined', '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : null;
6155
+ 'production' !== "development" ? warning(typeof shouldUpdate !== 'undefined', '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : undefined;
6159
6156
  }
6160
6157
 
6161
6158
  if (shouldUpdate) {
@@ -6296,9 +6293,9 @@ var ReactCompositeComponentMixin = {
6296
6293
  ReactContext.current = previousContext;
6297
6294
  ReactCurrentOwner.current = null;
6298
6295
  }
6299
- 'production' !== "development" ? invariant(
6296
+ !(
6300
6297
  // TODO: An `isValidNode` function would probably be more appropriate
6301
- renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent), '%s.render(): A valid ReactComponent must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent));
6298
+ (renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent))) ? 'production' !== "development" ? invariant(false, '%s.render(): A valid ReactComponent must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined;
6302
6299
  return renderedComponent;
6303
6300
  },
6304
6301
 
@@ -6740,7 +6737,7 @@ if ('production' !== "development") {
6740
6737
  // information on preventing compatibility mode
6741
6738
  var ieCompatibilityMode = document.documentMode && document.documentMode < 8;
6742
6739
 
6743
- 'production' !== "development" ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : null;
6740
+ 'production' !== "development" ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : undefined;
6744
6741
 
6745
6742
  var expectedFeatures = [
6746
6743
  // shims
@@ -6830,7 +6827,7 @@ function checkAndWarnForMutatedStyle(style1, style2, component) {
6830
6827
 
6831
6828
  styleMutationWarning[hash] = true;
6832
6829
 
6833
- 'production' !== "development" ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', JSON.stringify(style1), JSON.stringify(style2)) : null;
6830
+ 'production' !== "development" ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', JSON.stringify(style1), JSON.stringify(style2)) : undefined;
6834
6831
  }
6835
6832
 
6836
6833
  /**
@@ -6848,25 +6845,25 @@ function assertValidProps(component, props) {
6848
6845
  // Note the use of `==` which checks for null or undefined.
6849
6846
  if ('production' !== "development") {
6850
6847
  if (voidElementTags[component._tag]) {
6851
- 'production' !== "development" ? warning(props.children == null && props.dangerouslySetInnerHTML == null, '%s is a void element tag and must not have `children` or ' + 'use `props.dangerouslySetInnerHTML`.', component._tag) : null;
6848
+ 'production' !== "development" ? warning(props.children == null && props.dangerouslySetInnerHTML == null, '%s is a void element tag and must not have `children` or ' + 'use `props.dangerouslySetInnerHTML`.', component._tag) : undefined;
6852
6849
  }
6853
6850
  }
6854
6851
  if (props.dangerouslySetInnerHTML != null) {
6855
- 'production' !== "development" ? invariant(props.children == null, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : invariant(props.children == null);
6856
- 'production' !== "development" ? invariant(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' + 'for more information.') : invariant(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML);
6852
+ !(props.children == null) ? 'production' !== "development" ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : invariant(false) : undefined;
6853
+ !(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML) ? 'production' !== "development" ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' + 'for more information.') : invariant(false) : undefined;
6857
6854
  }
6858
6855
  if ('production' !== "development") {
6859
- 'production' !== "development" ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : null;
6860
- 'production' !== "development" ? warning(!props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : null;
6856
+ 'production' !== "development" ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : undefined;
6857
+ 'production' !== "development" ? warning(!props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : undefined;
6861
6858
  }
6862
- 'production' !== "development" ? invariant(props.style == null || typeof props.style === 'object', 'The `style` prop expects a mapping from style properties to values, ' + 'not a string. For example, style={{marginRight: spacing + \'em\'}} when ' + 'using JSX.') : invariant(props.style == null || typeof props.style === 'object');
6859
+ !(props.style == null || typeof props.style === 'object') ? 'production' !== "development" ? invariant(false, 'The `style` prop expects a mapping from style properties to values, ' + 'not a string. For example, style={{marginRight: spacing + \'em\'}} when ' + 'using JSX.') : invariant(false) : undefined;
6863
6860
  }
6864
6861
 
6865
6862
  function enqueuePutListener(id, registrationName, listener, transaction) {
6866
6863
  if ('production' !== "development") {
6867
6864
  // IE8 has no API for event capturing and the `onScroll` event doesn't
6868
6865
  // bubble.
6869
- 'production' !== "development" ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : null;
6866
+ 'production' !== "development" ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : undefined;
6870
6867
  }
6871
6868
  var container = ReactMount.findReactContainerForID(id);
6872
6869
  if (container) {
@@ -6930,7 +6927,7 @@ var hasOwnProperty = ({}).hasOwnProperty;
6930
6927
 
6931
6928
  function validateDangerousTag(tag) {
6932
6929
  if (!hasOwnProperty.call(validatedTagCache, tag)) {
6933
- 'production' !== "development" ? invariant(VALID_TAG_REGEX.test(tag), 'Invalid tag: %s', tag) : invariant(VALID_TAG_REGEX.test(tag));
6930
+ !VALID_TAG_REGEX.test(tag) ? 'production' !== "development" ? invariant(false, 'Invalid tag: %s', tag) : invariant(false) : undefined;
6934
6931
  validatedTagCache[tag] = true;
6935
6932
  }
6936
6933
  }
@@ -7400,7 +7397,7 @@ var ReactDOMIDOperations = {
7400
7397
  */
7401
7398
  updatePropertyByID: function (id, name, value) {
7402
7399
  var node = ReactMount.getNode(id);
7403
- 'production' !== "development" ? invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name), 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name));
7400
+ !!INVALID_PROPERTY_ERRORS.hasOwnProperty(name) ? 'production' !== "development" ? invariant(false, 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(false) : undefined;
7404
7401
 
7405
7402
  // If we're updating to null or undefined, we should remove the property
7406
7403
  // from the DOM node instead of inadvertantly setting to a string. This
@@ -7422,7 +7419,7 @@ var ReactDOMIDOperations = {
7422
7419
  */
7423
7420
  deletePropertyByID: function (id, name, value) {
7424
7421
  var node = ReactMount.getNode(id);
7425
- 'production' !== "development" ? invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name), 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name));
7422
+ !!INVALID_PROPERTY_ERRORS.hasOwnProperty(name) ? 'production' !== "development" ? invariant(false, 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(false) : undefined;
7426
7423
  DOMPropertyOperations.deleteValueForProperty(node, name, value);
7427
7424
  },
7428
7425
 
@@ -7736,9 +7733,9 @@ var ReactDOMInput = ReactClass.createClass({
7736
7733
  continue;
7737
7734
  }
7738
7735
  var otherID = ReactMount.getID(otherNode);
7739
- 'production' !== "development" ? invariant(otherID, 'ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.') : invariant(otherID);
7736
+ !otherID ? 'production' !== "development" ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.') : invariant(false) : undefined;
7740
7737
  var otherInstance = instancesByReactID[otherID];
7741
- 'production' !== "development" ? invariant(otherInstance, 'ReactDOMInput: Unknown radio button ID %s.', otherID) : invariant(otherInstance);
7738
+ !otherInstance ? 'production' !== "development" ? invariant(false, 'ReactDOMInput: Unknown radio button ID %s.', otherID) : invariant(false) : undefined;
7742
7739
  // If this is a controlled radio button group, forcing the input that
7743
7740
  // was previously checked to update will cause it to be come re-checked
7744
7741
  // as appropriate.
@@ -7771,7 +7768,6 @@ var ReactChildren = _dereq_(36);
7771
7768
  var ReactClass = _dereq_(37);
7772
7769
  var ReactDOMSelect = _dereq_(55);
7773
7770
  var ReactElement = _dereq_(64);
7774
- var ReactInstanceMap = _dereq_(74);
7775
7771
  var ReactPropTypes = _dereq_(88);
7776
7772
 
7777
7773
  var assign = _dereq_(28);
@@ -7803,11 +7799,11 @@ var ReactDOMOption = ReactClass.createClass({
7803
7799
  componentWillMount: function () {
7804
7800
  // TODO (yungsters): Remove support for `selected` in <option>.
7805
7801
  if ('production' !== "development") {
7806
- 'production' !== "development" ? warning(this.props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : null;
7802
+ 'production' !== "development" ? warning(this.props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : undefined;
7807
7803
  }
7808
7804
 
7809
7805
  // Look up whether this option is 'selected' via parent-based context
7810
- var context = ReactInstanceMap.get(this)._context;
7806
+ var context = this.context;
7811
7807
  var selectValue = context[valueContextKey];
7812
7808
 
7813
7809
  // If context key is null (e.g., no specified value or after initial mount)
@@ -7849,7 +7845,7 @@ var ReactDOMOption = ReactClass.createClass({
7849
7845
  if (typeof child === 'string' || typeof child === 'number') {
7850
7846
  content += child;
7851
7847
  } else {
7852
- 'production' !== "development" ? warning(false, 'Only strings and numbers are supported as <option> children.') : null;
7848
+ 'production' !== "development" ? warning(false, 'Only strings and numbers are supported as <option> children.') : undefined;
7853
7849
  }
7854
7850
  });
7855
7851
 
@@ -7859,7 +7855,7 @@ var ReactDOMOption = ReactClass.createClass({
7859
7855
  });
7860
7856
 
7861
7857
  module.exports = ReactDOMOption;
7862
- },{"173":173,"28":28,"31":31,"36":36,"37":37,"55":55,"64":64,"74":74,"88":88}],55:[function(_dereq_,module,exports){
7858
+ },{"173":173,"28":28,"31":31,"36":36,"37":37,"55":55,"64":64,"88":88}],55:[function(_dereq_,module,exports){
7863
7859
  /**
7864
7860
  * Copyright 2013-2015, Facebook, Inc.
7865
7861
  * All rights reserved.
@@ -8459,11 +8455,11 @@ var ReactDOMTextarea = ReactClass.createClass({
8459
8455
  var children = this.props.children;
8460
8456
  if (children != null) {
8461
8457
  if ('production' !== "development") {
8462
- 'production' !== "development" ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : null;
8458
+ 'production' !== "development" ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : undefined;
8463
8459
  }
8464
- 'production' !== "development" ? invariant(defaultValue == null, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : invariant(defaultValue == null);
8460
+ !(defaultValue == null) ? 'production' !== "development" ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : invariant(false) : undefined;
8465
8461
  if (Array.isArray(children)) {
8466
- 'production' !== "development" ? invariant(children.length <= 1, '<textarea> can only have at most one child.') : invariant(children.length <= 1);
8462
+ !(children.length <= 1) ? 'production' !== "development" ? invariant(false, '<textarea> can only have at most one child.') : invariant(false) : undefined;
8467
8463
  children = children[0];
8468
8464
  }
8469
8465
 
@@ -8486,7 +8482,7 @@ var ReactDOMTextarea = ReactClass.createClass({
8486
8482
  // Clone `this.props` so we don't mutate the input.
8487
8483
  var props = assign({}, this.props);
8488
8484
 
8489
- 'production' !== "development" ? invariant(props.dangerouslySetInnerHTML == null, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : invariant(props.dangerouslySetInnerHTML == null);
8485
+ !(props.dangerouslySetInnerHTML == null) ? 'production' !== "development" ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : invariant(false) : undefined;
8490
8486
 
8491
8487
  props.defaultValue = null;
8492
8488
  props.value = null;
@@ -9212,7 +9208,7 @@ function defineWarningProperty(object, key) {
9212
9208
  },
9213
9209
 
9214
9210
  set: function (value) {
9215
- 'production' !== "development" ? warning(false, 'Don\'t set the %s property of the React element. Instead, ' + 'specify the correct value when initially creating the element.', key) : null;
9211
+ 'production' !== "development" ? warning(false, 'Don\'t set the %s property of the React element. Instead, ' + 'specify the correct value when initially creating the element.', key) : undefined;
9216
9212
  this._store[key] = value;
9217
9213
  }
9218
9214
 
@@ -9587,7 +9583,7 @@ function warnAndMonitorForKeyUse(message, element, parentType) {
9587
9583
  childOwnerAddendum = ' It was passed a child from ' + childOwnerName + '.';
9588
9584
  }
9589
9585
 
9590
- 'production' !== "development" ? warning(false, message + '%s%s See https://fb.me/react-warning-keys for more information.', parentOrOwnerAddendum, childOwnerAddendum) : null;
9586
+ 'production' !== "development" ? warning(false, message + '%s%s See https://fb.me/react-warning-keys for more information.', parentOrOwnerAddendum, childOwnerAddendum) : undefined;
9591
9587
  }
9592
9588
 
9593
9589
  /**
@@ -9653,19 +9649,19 @@ function checkPropTypes(componentName, propTypes, props, location) {
9653
9649
  try {
9654
9650
  // This is intentionally an invariant that gets caught. It's the same
9655
9651
  // behavior as without this statement except with a better message.
9656
- 'production' !== "development" ? invariant(typeof propTypes[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(typeof propTypes[propName] === 'function');
9652
+ !(typeof propTypes[propName] === 'function') ? 'production' !== "development" ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : undefined;
9657
9653
  error = propTypes[propName](props, propName, componentName, location);
9658
9654
  } catch (ex) {
9659
9655
  error = ex;
9660
9656
  }
9661
- 'production' !== "development" ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : null;
9657
+ 'production' !== "development" ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : undefined;
9662
9658
  if (error instanceof Error && !(error.message in loggedTypeFailures)) {
9663
9659
  // Only monitor this failure once because there tends to be a lot of the
9664
9660
  // same error.
9665
9661
  loggedTypeFailures[error.message] = true;
9666
9662
 
9667
9663
  var addendum = getDeclarationErrorAddendum();
9668
- 'production' !== "development" ? warning(false, 'Failed propType: %s%s', error.message, addendum) : null;
9664
+ 'production' !== "development" ? warning(false, 'Failed propType: %s%s', error.message, addendum) : undefined;
9669
9665
  }
9670
9666
  }
9671
9667
  }
@@ -9699,7 +9695,7 @@ function warnForPropsMutation(propName, element) {
9699
9695
  ownerInfo = ' The element was created by ' + ownerName + '.';
9700
9696
  }
9701
9697
 
9702
- 'production' !== "development" ? warning(false, 'Don\'t set .props.%s of the React component%s. Instead, specify the ' + 'correct value when initially creating the element or use ' + 'React.cloneElement to make a new element with updated props.%s', propName, elementInfo, ownerInfo) : null;
9698
+ 'production' !== "development" ? warning(false, 'Don\'t set .props.%s of the React component%s. Instead, specify the ' + 'correct value when initially creating the element or use ' + 'React.cloneElement to make a new element with updated props.%s', propName, elementInfo, ownerInfo) : undefined;
9703
9699
  }
9704
9700
 
9705
9701
  // Inline Object.is polyfill
@@ -9766,7 +9762,7 @@ function validatePropTypes(element) {
9766
9762
  checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop);
9767
9763
  }
9768
9764
  if (typeof componentClass.getDefaultProps === 'function') {
9769
- 'production' !== "development" ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : null;
9765
+ 'production' !== "development" ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : undefined;
9770
9766
  }
9771
9767
  }
9772
9768
 
@@ -9777,7 +9773,7 @@ var ReactElementValidator = {
9777
9773
  createElement: function (type, props, children) {
9778
9774
  // We warn in this case but don't throw. We expect the element creation to
9779
9775
  // succeed and there will likely be errors in render.
9780
- 'production' !== "development" ? warning(typeof type === 'string' || typeof type === 'function', 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : null;
9776
+ 'production' !== "development" ? warning(typeof type === 'string' || typeof type === 'function', 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : undefined;
9781
9777
 
9782
9778
  var element = ReactElement.createElement.apply(this, arguments);
9783
9779
 
@@ -9806,7 +9802,7 @@ var ReactElementValidator = {
9806
9802
  Object.defineProperty(validatedFactory, 'type', {
9807
9803
  enumerable: false,
9808
9804
  get: function () {
9809
- 'production' !== "development" ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : null;
9805
+ 'production' !== "development" ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : undefined;
9810
9806
  Object.defineProperty(this, 'type', {
9811
9807
  value: type
9812
9808
  });
@@ -9884,7 +9880,7 @@ ReactEmptyComponentType.prototype.componentWillUnmount = function () {
9884
9880
  deregisterNullComponentID(internalInstance._rootNodeID);
9885
9881
  };
9886
9882
  ReactEmptyComponentType.prototype.render = function () {
9887
- 'production' !== "development" ? invariant(component, 'Trying to return null from a render, but no null placeholder component ' + 'was injected.') : invariant(component);
9883
+ !component ? 'production' !== "development" ? invariant(false, 'Trying to return null from a render, but no null placeholder component ' + 'was injected.') : invariant(false) : undefined;
9888
9884
  return component();
9889
9885
  };
9890
9886
 
@@ -10202,12 +10198,12 @@ if ('production' !== "development") {
10202
10198
  Object.defineProperty(obj, key, {
10203
10199
  enumerable: true,
10204
10200
  get: function () {
10205
- 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an opaque type. Accessing any of its ' + 'properties is deprecated. Pass it to one of the React.Children ' + 'helpers.') : null;
10201
+ 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an opaque type. Accessing any of its ' + 'properties is deprecated. Pass it to one of the React.Children ' + 'helpers.') : undefined;
10206
10202
  this[didWarnKey] = true;
10207
10203
  return this[fragmentKey][key];
10208
10204
  },
10209
10205
  set: function (value) {
10210
- 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an immutable opaque type. Mutating its ' + 'properties is deprecated.') : null;
10206
+ 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an immutable opaque type. Mutating its ' + 'properties is deprecated.') : undefined;
10211
10207
  this[didWarnKey] = true;
10212
10208
  this[fragmentKey][key] = value;
10213
10209
  }
@@ -10235,11 +10231,11 @@ var ReactFragment = {
10235
10231
  create: function (object) {
10236
10232
  if ('production' !== "development") {
10237
10233
  if (typeof object !== 'object' || !object || Array.isArray(object)) {
10238
- 'production' !== "development" ? warning(false, 'React.addons.createFragment only accepts a single object.', object) : null;
10234
+ 'production' !== "development" ? warning(false, 'React.addons.createFragment only accepts a single object.', object) : undefined;
10239
10235
  return object;
10240
10236
  }
10241
10237
  if (ReactElement.isValidElement(object)) {
10242
- 'production' !== "development" ? warning(false, 'React.addons.createFragment does not accept a ReactElement ' + 'without a wrapper object.') : null;
10238
+ 'production' !== "development" ? warning(false, 'React.addons.createFragment does not accept a ReactElement ' + 'without a wrapper object.') : undefined;
10243
10239
  return object;
10244
10240
  }
10245
10241
  if (canWarnForReactFragment) {
@@ -10268,7 +10264,7 @@ var ReactFragment = {
10268
10264
  if ('production' !== "development") {
10269
10265
  if (canWarnForReactFragment) {
10270
10266
  if (!fragment[fragmentKey]) {
10271
- 'production' !== "development" ? warning(didWarnForFragment(fragment), 'Any use of a keyed object should be wrapped in ' + 'React.addons.createFragment(object) before being passed as a ' + 'child.') : null;
10267
+ 'production' !== "development" ? warning(didWarnForFragment(fragment), 'Any use of a keyed object should be wrapped in ' + 'React.addons.createFragment(object) before being passed as a ' + 'child.') : undefined;
10272
10268
  return fragment;
10273
10269
  }
10274
10270
  return fragment[fragmentKey];
@@ -10562,8 +10558,8 @@ function getParentID(id) {
10562
10558
  * @private
10563
10559
  */
10564
10560
  function getNextDescendantID(ancestorID, destinationID) {
10565
- 'production' !== "development" ? invariant(isValidID(ancestorID) && isValidID(destinationID), 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', ancestorID, destinationID) : invariant(isValidID(ancestorID) && isValidID(destinationID));
10566
- 'production' !== "development" ? invariant(isAncestorIDOf(ancestorID, destinationID), 'getNextDescendantID(...): React has made an invalid assumption about ' + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', ancestorID, destinationID) : invariant(isAncestorIDOf(ancestorID, destinationID));
10561
+ !(isValidID(ancestorID) && isValidID(destinationID)) ? 'production' !== "development" ? invariant(false, 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', ancestorID, destinationID) : invariant(false) : undefined;
10562
+ !isAncestorIDOf(ancestorID, destinationID) ? 'production' !== "development" ? invariant(false, 'getNextDescendantID(...): React has made an invalid assumption about ' + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', ancestorID, destinationID) : invariant(false) : undefined;
10567
10563
  if (ancestorID === destinationID) {
10568
10564
  return ancestorID;
10569
10565
  }
@@ -10605,7 +10601,7 @@ function getFirstCommonAncestorID(oneID, twoID) {
10605
10601
  }
10606
10602
  }
10607
10603
  var longestCommonID = oneID.substr(0, lastCommonMarkerIndex);
10608
- 'production' !== "development" ? invariant(isValidID(longestCommonID), 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', oneID, twoID, longestCommonID) : invariant(isValidID(longestCommonID));
10604
+ !isValidID(longestCommonID) ? 'production' !== "development" ? invariant(false, 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', oneID, twoID, longestCommonID) : invariant(false) : undefined;
10609
10605
  return longestCommonID;
10610
10606
  }
10611
10607
 
@@ -10624,9 +10620,9 @@ function getFirstCommonAncestorID(oneID, twoID) {
10624
10620
  function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) {
10625
10621
  start = start || '';
10626
10622
  stop = stop || '';
10627
- 'production' !== "development" ? invariant(start !== stop, 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', start) : invariant(start !== stop);
10623
+ !(start !== stop) ? 'production' !== "development" ? invariant(false, 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', start) : invariant(false) : undefined;
10628
10624
  var traverseUp = isAncestorIDOf(stop, start);
10629
- 'production' !== "development" ? invariant(traverseUp || isAncestorIDOf(start, stop), 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + 'not have a parent path.', start, stop) : invariant(traverseUp || isAncestorIDOf(start, stop));
10625
+ !(traverseUp || isAncestorIDOf(start, stop)) ? 'production' !== "development" ? invariant(false, 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + 'not have a parent path.', start, stop) : invariant(false) : undefined;
10630
10626
  // Traverse from `start` to `stop` one depth at a time.
10631
10627
  var depth = 0;
10632
10628
  var traverse = traverseUp ? getParentID : getNextDescendantID;
@@ -10639,7 +10635,7 @@ function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) {
10639
10635
  // Only break //after// visiting `stop`.
10640
10636
  break;
10641
10637
  }
10642
- 'production' !== "development" ? invariant(depth++ < MAX_TREE_DEPTH, 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', start, stop) : invariant(depth++ < MAX_TREE_DEPTH);
10638
+ !(depth++ < MAX_TREE_DEPTH) ? 'production' !== "development" ? invariant(false, 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', start, stop) : invariant(false) : undefined;
10643
10639
  }
10644
10640
  }
10645
10641
 
@@ -11156,7 +11152,7 @@ function getID(node) {
11156
11152
  if (nodeCache.hasOwnProperty(id)) {
11157
11153
  var cached = nodeCache[id];
11158
11154
  if (cached !== node) {
11159
- 'production' !== "development" ? invariant(!isValid(cached, id), 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', ATTR_NAME, id) : invariant(!isValid(cached, id));
11155
+ !!isValid(cached, id) ? 'production' !== "development" ? invariant(false, 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', ATTR_NAME, id) : invariant(false) : undefined;
11160
11156
 
11161
11157
  nodeCache[id] = node;
11162
11158
  }
@@ -11234,7 +11230,7 @@ function getNodeFromInstance(instance) {
11234
11230
  */
11235
11231
  function isValid(node, id) {
11236
11232
  if (node) {
11237
- 'production' !== "development" ? invariant(internalGetID(node) === id, 'ReactMount: Unexpected modification of `%s`', ATTR_NAME) : invariant(internalGetID(node) === id);
11233
+ !(internalGetID(node) === id) ? 'production' !== "development" ? invariant(false, 'ReactMount: Unexpected modification of `%s`', ATTR_NAME) : invariant(false) : undefined;
11238
11234
 
11239
11235
  var container = ReactMount.findReactContainerForID(id);
11240
11236
  if (container && containsNode(container, node)) {
@@ -11405,7 +11401,7 @@ var ReactMount = {
11405
11401
  * @return {string} reactRoot ID prefix
11406
11402
  */
11407
11403
  _registerComponent: function (nextComponent, container) {
11408
- 'production' !== "development" ? invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE), '_registerComponent(...): Target container is not a DOM element.') : invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));
11404
+ !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? 'production' !== "development" ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : invariant(false) : undefined;
11409
11405
 
11410
11406
  ReactBrowserEventEmitter.ensureScrollValueMonitoring();
11411
11407
 
@@ -11425,7 +11421,7 @@ var ReactMount = {
11425
11421
  // Various parts of our code (such as ReactCompositeComponent's
11426
11422
  // _renderValidatedComponent) assume that calls to render aren't nested;
11427
11423
  // verify that that's the case.
11428
- 'production' !== "development" ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : null;
11424
+ 'production' !== "development" ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : undefined;
11429
11425
 
11430
11426
  var componentInstance = instantiateReactComponent(nextElement, null);
11431
11427
  var reactRootID = ReactMount._registerComponent(componentInstance, container);
@@ -11458,16 +11454,16 @@ var ReactMount = {
11458
11454
  * @return {ReactComponent} Component instance rendered in `container`.
11459
11455
  */
11460
11456
  renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {
11461
- 'production' !== "development" ? invariant(parentComponent != null && parentComponent._reactInternalInstance != null, 'parentComponent must be a valid React Component') : invariant(parentComponent != null && parentComponent._reactInternalInstance != null);
11457
+ !(parentComponent != null && parentComponent._reactInternalInstance != null) ? 'production' !== "development" ? invariant(false, 'parentComponent must be a valid React Component') : invariant(false) : undefined;
11462
11458
  return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);
11463
11459
  },
11464
11460
 
11465
11461
  _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {
11466
- 'production' !== "development" ? invariant(ReactElement.isValidElement(nextElement), 'React.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing an element string, make sure to instantiate ' + 'it by passing it to React.createElement.' : typeof nextElement === 'function' ? ' Instead of passing a component class, make sure to instantiate ' + 'it by passing it to React.createElement.' :
11462
+ !ReactElement.isValidElement(nextElement) ? 'production' !== "development" ? invariant(false, 'React.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing an element string, make sure to instantiate ' + 'it by passing it to React.createElement.' : typeof nextElement === 'function' ? ' Instead of passing a component class, make sure to instantiate ' + 'it by passing it to React.createElement.' :
11467
11463
  // Check if it quacks like an element
11468
- nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : invariant(ReactElement.isValidElement(nextElement));
11464
+ nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : invariant(false) : undefined;
11469
11465
 
11470
- 'production' !== "development" ? warning(container && container.tagName !== '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.') : null;
11466
+ 'production' !== "development" ? warning(container && container.tagName !== '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.') : undefined;
11471
11467
 
11472
11468
  var prevComponent = instancesByReactRootID[getReactRootID(container)];
11473
11469
 
@@ -11488,7 +11484,7 @@ var ReactMount = {
11488
11484
  var rootElementSibling = reactRootElement;
11489
11485
  while (rootElementSibling) {
11490
11486
  if (ReactMount.isRenderedByReact(rootElementSibling)) {
11491
- 'production' !== "development" ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : null;
11487
+ 'production' !== "development" ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : undefined;
11492
11488
  break;
11493
11489
  }
11494
11490
 
@@ -11546,7 +11542,7 @@ var ReactMount = {
11546
11542
  */
11547
11543
  constructAndRenderComponentByID: function (constructor, props, id) {
11548
11544
  var domNode = document.getElementById(id);
11549
- 'production' !== "development" ? invariant(domNode, 'Tried to get element with id of "%s" but it is not present on the page.', id) : invariant(domNode);
11545
+ !domNode ? 'production' !== "development" ? invariant(false, 'Tried to get element with id of "%s" but it is not present on the page.', id) : invariant(false) : undefined;
11550
11546
  return ReactMount.constructAndRenderComponent(constructor, props, domNode);
11551
11547
  },
11552
11548
 
@@ -11584,9 +11580,9 @@ var ReactMount = {
11584
11580
  // _renderValidatedComponent) assume that calls to render aren't nested;
11585
11581
  // verify that that's the case. (Strictly speaking, unmounting won't cause a
11586
11582
  // render but we still don't expect to be in a render call here.)
11587
- 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : null;
11583
+ 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : undefined;
11588
11584
 
11589
- 'production' !== "development" ? invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE), 'unmountComponentAtNode(...): Target container is not a DOM element.') : invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));
11585
+ !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? 'production' !== "development" ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : invariant(false) : undefined;
11590
11586
 
11591
11587
  var reactRootID = getReactRootID(container);
11592
11588
  var component = instancesByReactRootID[reactRootID];
@@ -11619,7 +11615,7 @@ var ReactMount = {
11619
11615
  'production' !== "development" ? warning(
11620
11616
  // Call internalGetID here because getID calls isValid which calls
11621
11617
  // findReactContainerForID (this function).
11622
- internalGetID(rootElement) === reactRootID, 'ReactMount: Root element ID differed from reactRootID.') : null;
11618
+ internalGetID(rootElement) === reactRootID, 'ReactMount: Root element ID differed from reactRootID.') : undefined;
11623
11619
  var containerChild = container.firstChild;
11624
11620
  if (containerChild && reactRootID === internalGetID(containerChild)) {
11625
11621
  // If the container has a new child with the same ID as the old
@@ -11628,7 +11624,7 @@ var ReactMount = {
11628
11624
  // warning is when the container is empty.
11629
11625
  rootElementsByReactRootID[reactRootID] = containerChild;
11630
11626
  } else {
11631
- 'production' !== "development" ? warning(false, 'ReactMount: Root element has been removed from its original ' + 'container. New container:', rootElement.parentNode) : null;
11627
+ 'production' !== "development" ? warning(false, 'ReactMount: Root element has been removed from its original ' + 'container. New container:', rootElement.parentNode) : undefined;
11632
11628
  }
11633
11629
  }
11634
11630
  }
@@ -11747,11 +11743,11 @@ var ReactMount = {
11747
11743
 
11748
11744
  firstChildren.length = 0;
11749
11745
 
11750
- 'production' !== "development" ? invariant(false, 'findComponentRoot(..., %s): Unable to find element. This probably ' + 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + 'usually due to forgetting a <tbody> when using tables, nesting tags ' + 'like <form>, <p>, or <a>, or using non-SVG elements in an <svg> ' + 'parent. ' + 'Try inspecting the child nodes of the element with React ID `%s`.', targetID, ReactMount.getID(ancestorNode)) : invariant(false);
11746
+ !false ? 'production' !== "development" ? invariant(false, 'findComponentRoot(..., %s): Unable to find element. This probably ' + 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + 'usually due to forgetting a <tbody> when using tables, nesting tags ' + 'like <form>, <p>, or <a>, or using non-SVG elements in an <svg> ' + 'parent. ' + 'Try inspecting the child nodes of the element with React ID `%s`.', targetID, ReactMount.getID(ancestorNode)) : invariant(false) : undefined;
11751
11747
  },
11752
11748
 
11753
11749
  _mountImageIntoNode: function (markup, container, shouldReuseMarkup) {
11754
- 'production' !== "development" ? invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE), 'mountComponentIntoNode(...): Target container is not valid.') : invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));
11750
+ !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? 'production' !== "development" ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : invariant(false) : undefined;
11755
11751
 
11756
11752
  if (shouldReuseMarkup) {
11757
11753
  var rootElement = getReactRootElementInContainer(container);
@@ -11767,15 +11763,15 @@ var ReactMount = {
11767
11763
  var diffIndex = firstDifferenceIndex(markup, rootMarkup);
11768
11764
  var difference = ' (client) ' + markup.substring(diffIndex - 20, diffIndex + 20) + '\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);
11769
11765
 
11770
- 'production' !== "development" ? invariant(container.nodeType !== DOC_NODE_TYPE, 'You\'re trying to render a component to the document using ' + 'server rendering but the checksum was invalid. This usually ' + 'means you rendered a different component type or props on ' + 'the client from the one on the server, or your render() ' + 'methods are impure. React cannot handle this case due to ' + 'cross-browser quirks by rendering at the document root. You ' + 'should look for environment dependent code in your components ' + 'and ensure the props are the same client and server side:\n%s', difference) : invariant(container.nodeType !== DOC_NODE_TYPE);
11766
+ !(container.nodeType !== DOC_NODE_TYPE) ? 'production' !== "development" ? invariant(false, 'You\'re trying to render a component to the document using ' + 'server rendering but the checksum was invalid. This usually ' + 'means you rendered a different component type or props on ' + 'the client from the one on the server, or your render() ' + 'methods are impure. React cannot handle this case due to ' + 'cross-browser quirks by rendering at the document root. You ' + 'should look for environment dependent code in your components ' + 'and ensure the props are the same client and server side:\n%s', difference) : invariant(false) : undefined;
11771
11767
 
11772
11768
  if ('production' !== "development") {
11773
- 'production' !== "development" ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\n%s', difference) : null;
11769
+ 'production' !== "development" ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\n%s', difference) : undefined;
11774
11770
  }
11775
11771
  }
11776
11772
  }
11777
11773
 
11778
- 'production' !== "development" ? invariant(container.nodeType !== DOC_NODE_TYPE, 'You\'re trying to render a component to the document but ' + 'you didn\'t use server rendering. We can\'t do this ' + 'without using server rendering due to cross-browser quirks. ' + 'See React.renderToString() for server rendering.') : invariant(container.nodeType !== DOC_NODE_TYPE);
11774
+ !(container.nodeType !== DOC_NODE_TYPE) ? 'production' !== "development" ? invariant(false, 'You\'re trying to render a component to the document but ' + 'you didn\'t use server rendering. We can\'t do this ' + 'without using server rendering due to cross-browser quirks. ' + 'See React.renderToString() for server rendering.') : invariant(false) : undefined;
11779
11775
 
11780
11776
  setInnerHTML(container, markup);
11781
11777
  },
@@ -12309,7 +12305,7 @@ function getComponentClassForElement(element) {
12309
12305
  * @return {function} The internal class constructor function.
12310
12306
  */
12311
12307
  function createInternalComponent(element) {
12312
- 'production' !== "development" ? invariant(genericComponentClass, 'There is no registered component for the tag %s', element.type) : invariant(genericComponentClass);
12308
+ !genericComponentClass ? 'production' !== "development" ? invariant(false, 'There is no registered component for the tag %s', element.type) : invariant(false) : undefined;
12313
12309
  return new genericComponentClass(element.type, element.props);
12314
12310
  }
12315
12311
 
@@ -12405,7 +12401,7 @@ var ReactOwner = {
12405
12401
  * @internal
12406
12402
  */
12407
12403
  addComponentAsRefTo: function (component, ref, owner) {
12408
- 'production' !== "development" ? invariant(ReactOwner.isValidOwner(owner), 'addComponentAsRefTo(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to add a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(ReactOwner.isValidOwner(owner));
12404
+ !ReactOwner.isValidOwner(owner) ? 'production' !== "development" ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to add a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(false) : undefined;
12409
12405
  owner.attachRef(ref, component);
12410
12406
  },
12411
12407
 
@@ -12419,7 +12415,7 @@ var ReactOwner = {
12419
12415
  * @internal
12420
12416
  */
12421
12417
  removeComponentAsRefFrom: function (component, ref, owner) {
12422
- 'production' !== "development" ? invariant(ReactOwner.isValidOwner(owner), 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to remove a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(ReactOwner.isValidOwner(owner));
12418
+ !ReactOwner.isValidOwner(owner) ? 'production' !== "development" ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to remove a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(false) : undefined;
12423
12419
  // Check that `component` is still the current ref because we do not want to
12424
12420
  // detach the ref if another component stole it.
12425
12421
  if (owner.getPublicInstance().refs[ref] === component.getPublicInstance()) {
@@ -12858,6 +12854,12 @@ function createInstanceTypeChecker(expectedClass) {
12858
12854
  }
12859
12855
 
12860
12856
  function createEnumTypeChecker(expectedValues) {
12857
+ if (!Array.isArray(expectedValues)) {
12858
+ return createChainableTypeChecker(function () {
12859
+ return new Error('Invalid argument supplied to oneOf, expected an instance of array.');
12860
+ });
12861
+ }
12862
+
12861
12863
  function validate(props, propName, componentName, location, propFullName) {
12862
12864
  var propValue = props[propName];
12863
12865
  for (var i = 0; i < expectedValues.length; i++) {
@@ -12895,6 +12897,12 @@ function createObjectOfTypeChecker(typeChecker) {
12895
12897
  }
12896
12898
 
12897
12899
  function createUnionTypeChecker(arrayOfTypeCheckers) {
12900
+ if (!Array.isArray(arrayOfTypeCheckers)) {
12901
+ return createChainableTypeChecker(function () {
12902
+ return new Error('Invalid argument supplied to oneOfType, expected an instance of array.');
12903
+ });
12904
+ }
12905
+
12898
12906
  function validate(props, propName, componentName, location, propFullName) {
12899
12907
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12900
12908
  var checker = arrayOfTypeCheckers[i];
@@ -13386,7 +13394,7 @@ var invariant = _dereq_(149);
13386
13394
  * @return {string} the HTML markup
13387
13395
  */
13388
13396
  function renderToString(element) {
13389
- 'production' !== "development" ? invariant(ReactElement.isValidElement(element), 'renderToString(): You must pass a valid ReactElement.') : invariant(ReactElement.isValidElement(element));
13397
+ !ReactElement.isValidElement(element) ? 'production' !== "development" ? invariant(false, 'renderToString(): You must pass a valid ReactElement.') : invariant(false) : undefined;
13390
13398
 
13391
13399
  var transaction;
13392
13400
  try {
@@ -13409,7 +13417,7 @@ function renderToString(element) {
13409
13417
  * (for generating static pages)
13410
13418
  */
13411
13419
  function renderToStaticMarkup(element) {
13412
- 'production' !== "development" ? invariant(ReactElement.isValidElement(element), 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(ReactElement.isValidElement(element));
13420
+ !ReactElement.isValidElement(element) ? 'production' !== "development" ? invariant(false, 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(false) : undefined;
13413
13421
 
13414
13422
  var transaction;
13415
13423
  try {
@@ -14512,7 +14520,7 @@ function enqueueUpdate(internalInstance) {
14512
14520
  }
14513
14521
 
14514
14522
  function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
14515
- 'production' !== "development" ? invariant(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition ' + '(such as within `render`). Render methods should be a pure function ' + 'of props and state.', callerName) : invariant(ReactCurrentOwner.current == null);
14523
+ !(ReactCurrentOwner.current == null) ? 'production' !== "development" ? invariant(false, '%s(...): Cannot update during an existing state transition ' + '(such as within `render`). Render methods should be a pure function ' + 'of props and state.', callerName) : invariant(false) : undefined;
14516
14524
 
14517
14525
  var internalInstance = ReactInstanceMap.get(publicInstance);
14518
14526
  if (!internalInstance) {
@@ -14520,7 +14528,7 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
14520
14528
  // Only warn when we have a callerName. Otherwise we should be silent.
14521
14529
  // We're probably calling from enqueueCallback. We don't want to warn
14522
14530
  // there because we already warned for the corresponding lifecycle method.
14523
- 'production' !== "development" ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted ' + 'component. This is a no-op.', callerName, callerName) : null;
14531
+ 'production' !== "development" ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted ' + 'component. This is a no-op.', callerName, callerName) : undefined;
14524
14532
  }
14525
14533
  return null;
14526
14534
  }
@@ -14547,7 +14555,7 @@ var ReactUpdateQueue = {
14547
14555
  * @internal
14548
14556
  */
14549
14557
  enqueueCallback: function (publicInstance, callback) {
14550
- 'production' !== "development" ? invariant(typeof callback === 'function', 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(typeof callback === 'function');
14558
+ !(typeof callback === 'function') ? 'production' !== "development" ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(false) : undefined;
14551
14559
  var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);
14552
14560
 
14553
14561
  // Previously we would throw an error if we didn't have an internal
@@ -14572,7 +14580,7 @@ var ReactUpdateQueue = {
14572
14580
  },
14573
14581
 
14574
14582
  enqueueCallbackInternal: function (internalInstance, callback) {
14575
- 'production' !== "development" ? invariant(typeof callback === 'function', 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(typeof callback === 'function');
14583
+ !(typeof callback === 'function') ? 'production' !== "development" ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(false) : undefined;
14576
14584
  if (internalInstance._pendingCallbacks) {
14577
14585
  internalInstance._pendingCallbacks.push(callback);
14578
14586
  } else {
@@ -14667,7 +14675,7 @@ var ReactUpdateQueue = {
14667
14675
  return;
14668
14676
  }
14669
14677
 
14670
- 'production' !== "development" ? invariant(internalInstance._isTopLevel, 'setProps(...): You called `setProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(internalInstance._isTopLevel);
14678
+ !internalInstance._isTopLevel ? 'production' !== "development" ? invariant(false, 'setProps(...): You called `setProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(false) : undefined;
14671
14679
 
14672
14680
  // Merge with the pending element if it exists, otherwise with existing
14673
14681
  // element props.
@@ -14692,7 +14700,7 @@ var ReactUpdateQueue = {
14692
14700
  return;
14693
14701
  }
14694
14702
 
14695
- 'production' !== "development" ? invariant(internalInstance._isTopLevel, 'replaceProps(...): You called `replaceProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(internalInstance._isTopLevel);
14703
+ !internalInstance._isTopLevel ? 'production' !== "development" ? invariant(false, 'replaceProps(...): You called `replaceProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(false) : undefined;
14696
14704
 
14697
14705
  // Merge with the pending element if it exists, otherwise with existing
14698
14706
  // element props.
@@ -14742,7 +14750,7 @@ var asapEnqueued = false;
14742
14750
  var batchingStrategy = null;
14743
14751
 
14744
14752
  function ensureInjected() {
14745
- 'production' !== "development" ? invariant(ReactUpdates.ReactReconcileTransaction && batchingStrategy, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(ReactUpdates.ReactReconcileTransaction && batchingStrategy);
14753
+ !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : undefined;
14746
14754
  }
14747
14755
 
14748
14756
  var NESTED_UPDATES = {
@@ -14822,7 +14830,7 @@ function mountOrderComparator(c1, c2) {
14822
14830
 
14823
14831
  function runBatchedUpdates(transaction) {
14824
14832
  var len = transaction.dirtyComponentsLength;
14825
- 'production' !== "development" ? invariant(len === dirtyComponents.length, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(len === dirtyComponents.length);
14833
+ !(len === dirtyComponents.length) ? 'production' !== "development" ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : undefined;
14826
14834
 
14827
14835
  // Since reconciling a component higher in the owner hierarchy usually (not
14828
14836
  // always -- see shouldComponentUpdate()) will reconcile children, reconcile
@@ -14886,7 +14894,7 @@ function enqueueUpdate(component) {
14886
14894
  // verify that that's the case. (This is called by each top-level update
14887
14895
  // function, like setProps, setState, forceUpdate, etc.; creation and
14888
14896
  // destruction of top-level components is guarded in ReactMount.)
14889
- 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'enqueueUpdate(): Render methods should be a pure function of props ' + 'and state; triggering nested component updates from render is not ' + 'allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate.') : null;
14897
+ 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'enqueueUpdate(): Render methods should be a pure function of props ' + 'and state; triggering nested component updates from render is not ' + 'allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate.') : undefined;
14890
14898
 
14891
14899
  if (!batchingStrategy.isBatchingUpdates) {
14892
14900
  batchingStrategy.batchedUpdates(enqueueUpdate, component);
@@ -14901,21 +14909,21 @@ function enqueueUpdate(component) {
14901
14909
  * if no updates are currently being performed.
14902
14910
  */
14903
14911
  function asap(callback, context) {
14904
- 'production' !== "development" ? invariant(batchingStrategy.isBatchingUpdates, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(batchingStrategy.isBatchingUpdates);
14912
+ !batchingStrategy.isBatchingUpdates ? 'production' !== "development" ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : undefined;
14905
14913
  asapCallbackQueue.enqueue(callback, context);
14906
14914
  asapEnqueued = true;
14907
14915
  }
14908
14916
 
14909
14917
  var ReactUpdatesInjection = {
14910
14918
  injectReconcileTransaction: function (ReconcileTransaction) {
14911
- 'production' !== "development" ? invariant(ReconcileTransaction, 'ReactUpdates: must provide a reconcile transaction class') : invariant(ReconcileTransaction);
14919
+ !ReconcileTransaction ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : undefined;
14912
14920
  ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;
14913
14921
  },
14914
14922
 
14915
14923
  injectBatchingStrategy: function (_batchingStrategy) {
14916
- 'production' !== "development" ? invariant(_batchingStrategy, 'ReactUpdates: must provide a batching strategy') : invariant(_batchingStrategy);
14917
- 'production' !== "development" ? invariant(typeof _batchingStrategy.batchedUpdates === 'function', 'ReactUpdates: must provide a batchedUpdates() function') : invariant(typeof _batchingStrategy.batchedUpdates === 'function');
14918
- 'production' !== "development" ? invariant(typeof _batchingStrategy.isBatchingUpdates === 'boolean', 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(typeof _batchingStrategy.isBatchingUpdates === 'boolean');
14924
+ !_batchingStrategy ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : undefined;
14925
+ !(typeof _batchingStrategy.batchedUpdates === 'function') ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : undefined;
14926
+ !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : undefined;
14919
14927
  batchingStrategy = _batchingStrategy;
14920
14928
  }
14921
14929
  };
@@ -15600,7 +15608,7 @@ var SimpleEventPlugin = {
15600
15608
  executeDispatch: function (event, listener, domID) {
15601
15609
  var returnValue = EventPluginUtils.executeDispatch(event, listener, domID);
15602
15610
 
15603
- 'production' !== "development" ? warning(typeof returnValue !== 'boolean', 'Returning `false` from an event handler is deprecated and will be ' + 'ignored in a future release. Instead, manually call ' + 'e.stopPropagation() or e.preventDefault(), as appropriate.') : null;
15611
+ 'production' !== "development" ? warning(typeof returnValue !== 'boolean', 'Returning `false` from an event handler is deprecated and will be ' + 'ignored in a future release. Instead, manually call ' + 'e.stopPropagation() or e.preventDefault(), as appropriate.') : undefined;
15604
15612
 
15605
15613
  if (returnValue === false) {
15606
15614
  event.stopPropagation();
@@ -15692,7 +15700,7 @@ var SimpleEventPlugin = {
15692
15700
  EventConstructor = SyntheticClipboardEvent;
15693
15701
  break;
15694
15702
  }
15695
- 'production' !== "development" ? invariant(EventConstructor, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : invariant(EventConstructor);
15703
+ !EventConstructor ? 'production' !== "development" ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : invariant(false) : undefined;
15696
15704
  var event = EventConstructor.getPooled(dispatchConfig, topLevelTargetID, nativeEvent);
15697
15705
  EventPropagators.accumulateTwoPhaseDispatches(event);
15698
15706
  return event;
@@ -16520,7 +16528,7 @@ var Mixin = {
16520
16528
  * @return Return value from `method`.
16521
16529
  */
16522
16530
  perform: function (method, scope, a, b, c, d, e, f) {
16523
- 'production' !== "development" ? invariant(!this.isInTransaction(), 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(!this.isInTransaction());
16531
+ !!this.isInTransaction() ? 'production' !== "development" ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : undefined;
16524
16532
  var errorThrown;
16525
16533
  var ret;
16526
16534
  try {
@@ -16584,7 +16592,7 @@ var Mixin = {
16584
16592
  * invoked).
16585
16593
  */
16586
16594
  closeAll: function (startIndex) {
16587
- 'production' !== "development" ? invariant(this.isInTransaction(), 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(this.isInTransaction());
16595
+ !this.isInTransaction() ? 'production' !== "development" ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : undefined;
16588
16596
  var transactionWrappers = this.transactionWrappers;
16589
16597
  for (var i = startIndex; i < transactionWrappers.length; i++) {
16590
16598
  var wrapper = transactionWrappers[i];
@@ -16686,7 +16694,7 @@ var invariant = _dereq_(149);
16686
16694
  */
16687
16695
 
16688
16696
  function accumulateInto(current, next) {
16689
- 'production' !== "development" ? invariant(next != null, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(next != null);
16697
+ !(next != null) ? 'production' !== "development" ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : undefined;
16690
16698
  if (current == null) {
16691
16699
  return next;
16692
16700
  }
@@ -16854,7 +16862,7 @@ var CHILDREN_PROP = keyOf({ children: null });
16854
16862
  */
16855
16863
  function cloneWithProps(child, props) {
16856
16864
  if ('production' !== "development") {
16857
- 'production' !== "development" ? warning(!child.ref, 'You are calling cloneWithProps() on a child with a ref. This is ' + 'dangerous because you\'re creating a new child which will not be ' + 'added as a ref to its parent.') : null;
16865
+ 'production' !== "development" ? warning(!child.ref, 'You are calling cloneWithProps() on a child with a ref. This is ' + 'dangerous because you\'re creating a new child which will not be ' + 'added as a ref to its parent.') : undefined;
16858
16866
  }
16859
16867
 
16860
16868
  var newProps = ReactPropTransferer.mergeProps(props, child.props);
@@ -17052,7 +17060,7 @@ function createFullPageComponent(tag) {
17052
17060
  displayName: 'ReactFullPageComponent' + tag,
17053
17061
 
17054
17062
  componentWillUnmount: function () {
17055
- 'production' !== "development" ? invariant(false, '%s tried to unmount. Because of cross-browser quirks it is ' + 'impossible to unmount some top-level components (eg <html>, <head>, ' + 'and <body>) reliably and efficiently. To fix this, have a single ' + 'top-level component that never unmounts render these elements.', this.constructor.displayName) : invariant(false);
17063
+ !false ? 'production' !== "development" ? invariant(false, '%s tried to unmount. Because of cross-browser quirks it is ' + 'impossible to unmount some top-level components (eg <html>, <head>, ' + 'and <body>) reliably and efficiently. To fix this, have a single ' + 'top-level component that never unmounts render these elements.', this.constructor.displayName) : invariant(false) : undefined;
17056
17064
  },
17057
17065
 
17058
17066
  render: function () {
@@ -17120,7 +17128,7 @@ function getNodeName(markup) {
17120
17128
  */
17121
17129
  function createNodesFromMarkup(markup, handleScript) {
17122
17130
  var node = dummyNode;
17123
- 'production' !== "development" ? invariant(!!dummyNode, 'createNodesFromMarkup dummy not initialized') : invariant(!!dummyNode);
17131
+ !!!dummyNode ? 'production' !== "development" ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : undefined;
17124
17132
  var nodeName = getNodeName(markup);
17125
17133
 
17126
17134
  var wrap = nodeName && getMarkupWrap(nodeName);
@@ -17137,7 +17145,7 @@ function createNodesFromMarkup(markup, handleScript) {
17137
17145
 
17138
17146
  var scripts = node.getElementsByTagName('script');
17139
17147
  if (scripts.length) {
17140
- 'production' !== "development" ? invariant(handleScript, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(handleScript);
17148
+ !handleScript ? 'production' !== "development" ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : undefined;
17141
17149
  createArrayFromMixed(scripts).forEach(handleScript);
17142
17150
  }
17143
17151
 
@@ -17337,7 +17345,7 @@ function findDOMNode(componentOrElement) {
17337
17345
  if ('production' !== "development") {
17338
17346
  var owner = ReactCurrentOwner.current;
17339
17347
  if (owner !== null) {
17340
- 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing getDOMNode or findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : null;
17348
+ 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing getDOMNode or findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : undefined;
17341
17349
  owner._warnedAboutRefsInRender = true;
17342
17350
  }
17343
17351
  }
@@ -17350,8 +17358,8 @@ function findDOMNode(componentOrElement) {
17350
17358
  if (ReactInstanceMap.has(componentOrElement)) {
17351
17359
  return ReactMount.getNodeFromInstance(componentOrElement);
17352
17360
  }
17353
- 'production' !== "development" ? invariant(componentOrElement.render == null || typeof componentOrElement.render !== 'function', 'Component (with keys: %s) contains `render` method ' + 'but is not mounted in the DOM', Object.keys(componentOrElement)) : invariant(componentOrElement.render == null || typeof componentOrElement.render !== 'function');
17354
- 'production' !== "development" ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false);
17361
+ !(componentOrElement.render == null || typeof componentOrElement.render !== 'function') ? 'production' !== "development" ? invariant(false, 'Component (with keys: %s) contains `render` method ' + 'but is not mounted in the DOM', Object.keys(componentOrElement)) : invariant(false) : undefined;
17362
+ !false ? 'production' !== "development" ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false) : undefined;
17355
17363
  }
17356
17364
 
17357
17365
  module.exports = findDOMNode;
@@ -17382,7 +17390,7 @@ function flattenSingleChildIntoContext(traverseContext, child, name) {
17382
17390
  var result = traverseContext;
17383
17391
  var keyUnique = result[name] === undefined;
17384
17392
  if ('production' !== "development") {
17385
- 'production' !== "development" ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : null;
17393
+ 'production' !== "development" ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : undefined;
17386
17394
  }
17387
17395
  if (keyUnique && child != null) {
17388
17396
  result[name] = child;
@@ -17863,7 +17871,7 @@ var markupWrap = {
17863
17871
  * @return {?array} Markup wrap configuration, if applicable.
17864
17872
  */
17865
17873
  function getMarkupWrap(nodeName) {
17866
- 'production' !== "development" ? invariant(!!dummyNode, 'Markup wrapping node not initialized') : invariant(!!dummyNode);
17874
+ !!!dummyNode ? 'production' !== "development" ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : undefined;
17867
17875
  if (!markupWrap.hasOwnProperty(nodeName)) {
17868
17876
  nodeName = '*';
17869
17877
  }
@@ -18158,7 +18166,7 @@ function instantiateReactComponent(node, parentCompositeType) {
18158
18166
  if (typeof node === 'object') {
18159
18167
  var element = node;
18160
18168
  if ('production' !== "development") {
18161
- 'production' !== "development" ? warning(element && (typeof element.type === 'function' || typeof element.type === 'string'), 'Only functions or strings can be mounted as React components.') : null;
18169
+ 'production' !== "development" ? warning(element && (typeof element.type === 'function' || typeof element.type === 'string'), 'Only functions or strings can be mounted as React components.') : undefined;
18162
18170
  }
18163
18171
 
18164
18172
  // Special case string values
@@ -18178,11 +18186,11 @@ function instantiateReactComponent(node, parentCompositeType) {
18178
18186
  } else if (typeof node === 'string' || typeof node === 'number') {
18179
18187
  instance = ReactNativeComponent.createInstanceForText(node);
18180
18188
  } else {
18181
- 'production' !== "development" ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : invariant(false);
18189
+ !false ? 'production' !== "development" ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : invariant(false) : undefined;
18182
18190
  }
18183
18191
 
18184
18192
  if ('production' !== "development") {
18185
- 'production' !== "development" ? warning(typeof instance.construct === 'function' && typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : null;
18193
+ 'production' !== "development" ? warning(typeof instance.construct === 'function' && typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : undefined;
18186
18194
  }
18187
18195
 
18188
18196
  // Sets up the instance. This can probably just move into the constructor now.
@@ -18490,7 +18498,7 @@ var invariant = _dereq_(149);
18490
18498
  var keyMirror = function (obj) {
18491
18499
  var ret = {};
18492
18500
  var key;
18493
- 'production' !== "development" ? invariant(obj instanceof Object && !Array.isArray(obj), 'keyMirror(...): Argument must be an object.') : invariant(obj instanceof Object && !Array.isArray(obj));
18501
+ !(obj instanceof Object && !Array.isArray(obj)) ? 'production' !== "development" ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : undefined;
18494
18502
  for (key in obj) {
18495
18503
  if (!obj.hasOwnProperty(key)) {
18496
18504
  continue;
@@ -18650,7 +18658,7 @@ var invariant = _dereq_(149);
18650
18658
  * structure.
18651
18659
  */
18652
18660
  function onlyChild(children) {
18653
- 'production' !== "development" ? invariant(ReactElement.isValidElement(children), 'onlyChild must be passed a children with exactly one child.') : invariant(ReactElement.isValidElement(children));
18661
+ !ReactElement.isValidElement(children) ? 'production' !== "development" ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : undefined;
18654
18662
  return children;
18655
18663
  }
18656
18664
 
@@ -19029,11 +19037,11 @@ function toArray(obj) {
19029
19037
 
19030
19038
  // Some browse builtin objects can report typeof 'function' (e.g. NodeList in
19031
19039
  // old versions of Safari).
19032
- 'production' !== "development" ? invariant(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function'), 'toArray: Array-like object expected') : invariant(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function'));
19040
+ !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? 'production' !== "development" ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : undefined;
19033
19041
 
19034
- 'production' !== "development" ? invariant(typeof length === 'number', 'toArray: Object needs a length property') : invariant(typeof length === 'number');
19042
+ !(typeof length === 'number') ? 'production' !== "development" ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : undefined;
19035
19043
 
19036
- 'production' !== "development" ? invariant(length === 0 || length - 1 in obj, 'toArray: Object should have keys for indices') : invariant(length === 0 || length - 1 in obj);
19044
+ !(length === 0 || length - 1 in obj) ? 'production' !== "development" ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : undefined;
19037
19045
 
19038
19046
  // Old IE doesn't give collections access to hasOwnProperty. Assume inputs
19039
19047
  // without method will throw during the slice call and skip straight to the
@@ -19185,7 +19193,7 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext)
19185
19193
  }
19186
19194
  } else {
19187
19195
  if ('production' !== "development") {
19188
- 'production' !== "development" ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : null;
19196
+ 'production' !== "development" ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : undefined;
19189
19197
  didWarnAboutMaps = true;
19190
19198
  }
19191
19199
  // Iterator will provide entry [k,v] tuples rather than values.
@@ -19199,7 +19207,7 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext)
19199
19207
  }
19200
19208
  }
19201
19209
  } else if (type === 'object') {
19202
- 'production' !== "development" ? invariant(children.nodeType !== 1, 'traverseAllChildren(...): Encountered an invalid child; DOM ' + 'elements are not valid children of React components.') : invariant(children.nodeType !== 1);
19210
+ !(children.nodeType !== 1) ? 'production' !== "development" ? invariant(false, 'traverseAllChildren(...): Encountered an invalid child; DOM ' + 'elements are not valid children of React components.') : invariant(false) : undefined;
19203
19211
  var fragment = ReactFragment.extract(children);
19204
19212
  for (var key in fragment) {
19205
19213
  if (fragment.hasOwnProperty(key)) {
@@ -19286,16 +19294,16 @@ ALL_COMMANDS_LIST.forEach(function (command) {
19286
19294
  });
19287
19295
 
19288
19296
  function invariantArrayCase(value, spec, command) {
19289
- 'production' !== "development" ? invariant(Array.isArray(value), 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(Array.isArray(value));
19297
+ !Array.isArray(value) ? 'production' !== "development" ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : undefined;
19290
19298
  var specValue = spec[command];
19291
- 'production' !== "development" ? invariant(Array.isArray(specValue), 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(Array.isArray(specValue));
19299
+ !Array.isArray(specValue) ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : undefined;
19292
19300
  }
19293
19301
 
19294
19302
  function update(value, spec) {
19295
- 'production' !== "development" ? invariant(typeof spec === 'object', 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(typeof spec === 'object');
19303
+ !(typeof spec === 'object') ? 'production' !== "development" ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : undefined;
19296
19304
 
19297
19305
  if (hasOwnProperty.call(spec, COMMAND_SET)) {
19298
- 'production' !== "development" ? invariant(Object.keys(spec).length === 1, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(Object.keys(spec).length === 1);
19306
+ !(Object.keys(spec).length === 1) ? 'production' !== "development" ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : undefined;
19299
19307
 
19300
19308
  return spec[COMMAND_SET];
19301
19309
  }
@@ -19304,8 +19312,8 @@ function update(value, spec) {
19304
19312
 
19305
19313
  if (hasOwnProperty.call(spec, COMMAND_MERGE)) {
19306
19314
  var mergeObj = spec[COMMAND_MERGE];
19307
- 'production' !== "development" ? invariant(mergeObj && typeof mergeObj === 'object', 'update(): %s expects a spec of type \'object\'; got %s', COMMAND_MERGE, mergeObj) : invariant(mergeObj && typeof mergeObj === 'object');
19308
- 'production' !== "development" ? invariant(nextValue && typeof nextValue === 'object', 'update(): %s expects a target of type \'object\'; got %s', COMMAND_MERGE, nextValue) : invariant(nextValue && typeof nextValue === 'object');
19315
+ !(mergeObj && typeof mergeObj === 'object') ? 'production' !== "development" ? invariant(false, 'update(): %s expects a spec of type \'object\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : undefined;
19316
+ !(nextValue && typeof nextValue === 'object') ? 'production' !== "development" ? invariant(false, 'update(): %s expects a target of type \'object\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : undefined;
19309
19317
  assign(nextValue, spec[COMMAND_MERGE]);
19310
19318
  }
19311
19319
 
@@ -19324,16 +19332,16 @@ function update(value, spec) {
19324
19332
  }
19325
19333
 
19326
19334
  if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {
19327
- 'production' !== "development" ? invariant(Array.isArray(value), 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(Array.isArray(value));
19328
- 'production' !== "development" ? invariant(Array.isArray(spec[COMMAND_SPLICE]), 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(Array.isArray(spec[COMMAND_SPLICE]));
19335
+ !Array.isArray(value) ? 'production' !== "development" ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : undefined;
19336
+ !Array.isArray(spec[COMMAND_SPLICE]) ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined;
19329
19337
  spec[COMMAND_SPLICE].forEach(function (args) {
19330
- 'production' !== "development" ? invariant(Array.isArray(args), 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(Array.isArray(args));
19338
+ !Array.isArray(args) ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined;
19331
19339
  nextValue.splice.apply(nextValue, args);
19332
19340
  });
19333
19341
  }
19334
19342
 
19335
19343
  if (hasOwnProperty.call(spec, COMMAND_APPLY)) {
19336
- 'production' !== "development" ? invariant(typeof spec[COMMAND_APPLY] === 'function', 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(typeof spec[COMMAND_APPLY] === 'function');
19344
+ !(typeof spec[COMMAND_APPLY] === 'function') ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : undefined;
19337
19345
  nextValue = spec[COMMAND_APPLY](nextValue);
19338
19346
  }
19339
19347
 
@@ -19632,6 +19640,8 @@ if ('production' !== "development") {
19632
19640
  return stack;
19633
19641
  };
19634
19642
 
19643
+ var didWarn = {};
19644
+
19635
19645
  validateDOMNesting = function (childTag, childInstance, ancestorInfo) {
19636
19646
  ancestorInfo = ancestorInfo || emptyAncestorInfo;
19637
19647
  var parentInfo = ancestorInfo.parentTag;
@@ -19677,14 +19687,20 @@ if ('production' !== "development") {
19677
19687
  // If we're warning about an invalid (non-parent) ancestry, add '...'
19678
19688
  invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');
19679
19689
 
19690
+ var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;
19691
+ if (didWarn[warnKey]) {
19692
+ return;
19693
+ }
19694
+ didWarn[warnKey] = true;
19695
+
19680
19696
  if (invalidParent) {
19681
19697
  var info = '';
19682
19698
  if (ancestorTag === 'table' && childTag === 'tr') {
19683
19699
  info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';
19684
19700
  }
19685
- 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s>. ' + 'See %s.%s', childTag, ancestorTag, ownerInfo, info) : null;
19701
+ 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s>. ' + 'See %s.%s', childTag, ancestorTag, ownerInfo, info) : undefined;
19686
19702
  } else {
19687
- 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a descendant of ' + '<%s>. See %s.', childTag, ancestorTag, ownerInfo) : null;
19703
+ 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a descendant of ' + '<%s>. See %s.', childTag, ancestorTag, ownerInfo) : undefined;
19688
19704
  }
19689
19705
  }
19690
19706
  };