react 0.13.0-alpha.1 → 0.13.0-rc1

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 (182) hide show
  1. package/dist/JSXTransformer.js +1376 -596
  2. package/dist/react-with-addons.js +3256 -2363
  3. package/dist/react-with-addons.min.js +7 -7
  4. package/dist/react.js +3092 -2266
  5. package/dist/react.min.js +6 -7
  6. package/lib/AutoFocusMixin.js +2 -2
  7. package/lib/BeforeInputEventPlugin.js +5 -9
  8. package/lib/CSSCore.js +1 -1
  9. package/lib/CSSProperty.js +4 -2
  10. package/lib/CSSPropertyOperations.js +44 -17
  11. package/lib/CallbackQueue.js +3 -3
  12. package/lib/ChangeEventPlugin.js +2 -2
  13. package/lib/ClientReactRootIndex.js +2 -2
  14. package/lib/DOMChildrenOperations.js +10 -47
  15. package/lib/DOMProperty.js +2 -2
  16. package/lib/DOMPropertyOperations.js +11 -16
  17. package/lib/Danger.js +7 -6
  18. package/lib/DefaultEventPluginOrder.js +3 -3
  19. package/lib/EnterLeaveEventPlugin.js +2 -2
  20. package/lib/EventConstants.js +2 -2
  21. package/lib/EventListener.js +1 -1
  22. package/lib/EventPluginHub.js +10 -8
  23. package/lib/EventPluginRegistry.js +2 -2
  24. package/lib/EventPluginUtils.js +4 -4
  25. package/lib/EventPropagators.js +2 -2
  26. package/lib/ExecutionEnvironment.js +1 -1
  27. package/lib/FallbackCompositionState.js +7 -5
  28. package/lib/HTMLDOMPropertyConfig.js +22 -10
  29. package/lib/LinkedStateMixin.js +2 -2
  30. package/lib/LinkedValueUtils.js +4 -4
  31. package/lib/LocalEventTrapMixin.js +10 -3
  32. package/lib/MobileSafariClickEventPlugin.js +2 -2
  33. package/lib/Object.assign.js +2 -2
  34. package/lib/PooledClass.js +2 -2
  35. package/lib/React.js +9 -13
  36. package/lib/ReactBrowserComponentMixin.js +2 -2
  37. package/lib/ReactBrowserEventEmitter.js +4 -4
  38. package/lib/ReactCSSTransitionGroup.js +2 -2
  39. package/lib/ReactCSSTransitionGroupChild.js +12 -7
  40. package/lib/ReactChildReconciler.js +11 -7
  41. package/lib/ReactChildren.js +13 -10
  42. package/lib/ReactClass.js +161 -135
  43. package/lib/ReactComponent.js +100 -158
  44. package/lib/ReactComponentBrowserEnvironment.js +2 -2
  45. package/lib/ReactComponentEnvironment.js +3 -3
  46. package/lib/ReactComponentWithPureRenderMixin.js +2 -2
  47. package/lib/ReactCompositeComponent.js +336 -484
  48. package/lib/ReactContext.js +14 -4
  49. package/lib/ReactCurrentOwner.js +2 -2
  50. package/lib/ReactDOM.js +2 -2
  51. package/lib/ReactDOMButton.js +2 -2
  52. package/lib/ReactDOMComponent.js +42 -52
  53. package/lib/ReactDOMForm.js +2 -2
  54. package/lib/ReactDOMIDOperations.js +4 -4
  55. package/lib/ReactDOMIframe.js +43 -0
  56. package/lib/ReactDOMImg.js +2 -2
  57. package/lib/ReactDOMInput.js +2 -2
  58. package/lib/ReactDOMOption.js +2 -2
  59. package/lib/ReactDOMSelect.js +3 -3
  60. package/lib/ReactDOMSelection.js +2 -2
  61. package/lib/ReactDOMTextComponent.js +4 -13
  62. package/lib/ReactDOMTextarea.js +2 -2
  63. package/lib/ReactDefaultBatchingStrategy.js +5 -5
  64. package/lib/ReactDefaultInjection.js +26 -2
  65. package/lib/ReactDefaultPerf.js +12 -4
  66. package/lib/ReactDefaultPerfAnalysis.js +1 -1
  67. package/lib/ReactElement.js +7 -5
  68. package/lib/ReactElementValidator.js +185 -65
  69. package/lib/ReactEmptyComponent.js +17 -6
  70. package/lib/ReactErrorUtils.js +1 -1
  71. package/lib/ReactEventEmitterMixin.js +2 -2
  72. package/lib/ReactEventListener.js +4 -5
  73. package/lib/ReactFragment.js +180 -0
  74. package/lib/ReactInjection.js +2 -2
  75. package/lib/ReactInputSelection.js +2 -2
  76. package/lib/ReactInstanceHandles.js +4 -3
  77. package/lib/ReactInstanceMap.js +2 -2
  78. package/lib/ReactLifeCycle.js +35 -0
  79. package/lib/ReactLink.js +2 -2
  80. package/lib/ReactMarkupChecksum.js +2 -2
  81. package/lib/ReactMount.js +87 -23
  82. package/lib/ReactMultiChild.js +19 -7
  83. package/lib/ReactMultiChildUpdateTypes.js +2 -2
  84. package/lib/ReactNativeComponent.js +34 -37
  85. package/lib/ReactOwner.js +2 -2
  86. package/lib/ReactPerf.js +2 -2
  87. package/lib/ReactPropTransferer.js +3 -3
  88. package/lib/ReactPropTypeLocationNames.js +2 -2
  89. package/lib/ReactPropTypeLocations.js +2 -2
  90. package/lib/ReactPropTypes.js +16 -8
  91. package/lib/ReactPutListenerQueue.js +2 -2
  92. package/lib/ReactReconcileTransaction.js +2 -2
  93. package/lib/ReactReconciler.js +121 -0
  94. package/lib/ReactRef.js +41 -68
  95. package/lib/ReactRootIndex.js +2 -2
  96. package/lib/ReactServerRendering.js +4 -3
  97. package/lib/ReactServerRenderingTransaction.js +2 -2
  98. package/lib/ReactStateSetters.js +2 -2
  99. package/lib/ReactTestUtils.js +49 -8
  100. package/lib/ReactTransitionChildMapping.js +8 -4
  101. package/lib/ReactTransitionEvents.js +2 -2
  102. package/lib/ReactTransitionGroup.js +6 -6
  103. package/lib/ReactUpdateQueue.js +295 -0
  104. package/lib/ReactUpdates.js +13 -22
  105. package/lib/ReactWithAddons.js +4 -2
  106. package/lib/SVGDOMPropertyConfig.js +2 -2
  107. package/lib/SelectEventPlugin.js +4 -4
  108. package/lib/ServerReactRootIndex.js +2 -2
  109. package/lib/SimpleEventPlugin.js +4 -4
  110. package/lib/SyntheticClipboardEvent.js +2 -3
  111. package/lib/SyntheticCompositionEvent.js +2 -3
  112. package/lib/SyntheticDragEvent.js +2 -2
  113. package/lib/SyntheticEvent.js +12 -4
  114. package/lib/SyntheticFocusEvent.js +2 -2
  115. package/lib/SyntheticInputEvent.js +2 -3
  116. package/lib/SyntheticKeyboardEvent.js +2 -2
  117. package/lib/SyntheticMouseEvent.js +2 -2
  118. package/lib/SyntheticTouchEvent.js +2 -2
  119. package/lib/SyntheticUIEvent.js +2 -2
  120. package/lib/SyntheticWheelEvent.js +2 -2
  121. package/lib/Transaction.js +5 -5
  122. package/lib/ViewportMetrics.js +2 -2
  123. package/lib/accumulateInto.js +2 -2
  124. package/lib/adler32.js +2 -2
  125. package/lib/camelize.js +1 -1
  126. package/lib/camelizeStyleName.js +1 -1
  127. package/lib/cloneWithProps.js +4 -4
  128. package/lib/containsNode.js +1 -1
  129. package/lib/{createArrayFrom.js → createArrayFromMixed.js} +6 -6
  130. package/lib/createFullPageComponent.js +2 -2
  131. package/lib/createNodesFromMarkup.js +4 -4
  132. package/lib/cx.js +16 -1
  133. package/lib/dangerousStyleValue.js +2 -2
  134. package/lib/emptyFunction.js +1 -1
  135. package/lib/emptyObject.js +1 -1
  136. package/lib/{escapeTextForBrowser.js → escapeTextContentForBrowser.js} +10 -11
  137. package/lib/findDOMNode.js +26 -9
  138. package/lib/flattenChildren.js +11 -9
  139. package/lib/focusNode.js +1 -1
  140. package/lib/forEachAccumulated.js +2 -2
  141. package/lib/getActiveElement.js +1 -1
  142. package/lib/getEventCharCode.js +2 -2
  143. package/lib/getEventKey.js +2 -2
  144. package/lib/getEventModifierState.js +2 -2
  145. package/lib/getEventTarget.js +2 -2
  146. package/lib/getIteratorFn.js +2 -2
  147. package/lib/getMarkupWrap.js +1 -1
  148. package/lib/getNodeForCharacterOffset.js +3 -3
  149. package/lib/getReactRootElementInContainer.js +2 -2
  150. package/lib/getTextContentAccessor.js +2 -2
  151. package/lib/getUnboundedScrollPosition.js +1 -1
  152. package/lib/hyphenate.js +1 -1
  153. package/lib/hyphenateStyleName.js +1 -1
  154. package/lib/instantiateReactComponent.js +21 -21
  155. package/lib/invariant.js +1 -1
  156. package/lib/isEventSupported.js +2 -2
  157. package/lib/isNode.js +1 -1
  158. package/lib/isTextInputElement.js +2 -2
  159. package/lib/isTextNode.js +1 -1
  160. package/lib/joinClasses.js +2 -2
  161. package/lib/keyMirror.js +2 -2
  162. package/lib/keyOf.js +1 -1
  163. package/lib/mapObject.js +1 -1
  164. package/lib/memoizeStringOnly.js +5 -6
  165. package/lib/onlyChild.js +2 -2
  166. package/lib/performance.js +1 -1
  167. package/lib/performanceNow.js +1 -1
  168. package/lib/quoteAttributeValueForBrowser.js +26 -0
  169. package/lib/setInnerHTML.js +13 -2
  170. package/lib/setTextContent.js +40 -0
  171. package/lib/shallowEqual.js +2 -2
  172. package/lib/shouldUpdateReactComponent.js +64 -8
  173. package/lib/toArray.js +2 -2
  174. package/lib/traverseAllChildren.js +19 -5
  175. package/lib/update.js +2 -2
  176. package/lib/warning.js +20 -2
  177. package/package.json +1 -1
  178. package/lib/accumulate.js +0 -47
  179. package/lib/copyProperties.js +0 -56
  180. package/lib/merge.js +0 -34
  181. package/lib/mergeInto.js +0 -24
  182. package/lib/monitorCodeUse.js +0 -30
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -9,7 +9,7 @@
9
9
  * @providesModule ViewportMetrics
10
10
  */
11
11
 
12
- "use strict";
12
+ 'use strict';
13
13
 
14
14
  var ViewportMetrics = {
15
15
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2014, Facebook, Inc.
2
+ * Copyright 2014-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -9,7 +9,7 @@
9
9
  * @providesModule accumulateInto
10
10
  */
11
11
 
12
- "use strict";
12
+ 'use strict';
13
13
 
14
14
  var invariant = require("./invariant");
15
15
 
package/lib/adler32.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -11,7 +11,7 @@
11
11
 
12
12
  /* jslint bitwise:true */
13
13
 
14
- "use strict";
14
+ 'use strict';
15
15
 
16
16
  var MOD = 65521;
17
17
 
package/lib/camelize.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2014, Facebook, Inc.
2
+ * Copyright 2014-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -10,7 +10,7 @@
10
10
  * @providesModule cloneWithProps
11
11
  */
12
12
 
13
- "use strict";
13
+ 'use strict';
14
14
 
15
15
  var ReactElement = require("./ReactElement");
16
16
  var ReactPropTransferer = require("./ReactPropTransferer");
@@ -24,10 +24,10 @@ var CHILDREN_PROP = keyOf({children: null});
24
24
  * Sometimes you want to change the props of a child passed to you. Usually
25
25
  * this is to add a CSS class.
26
26
  *
27
- * @param {object} child child component you'd like to clone
27
+ * @param {ReactElement} child child element you'd like to clone
28
28
  * @param {object} props props you'd like to modify. className and style will be
29
29
  * merged automatically.
30
- * @return {object} a clone of child with props merged in.
30
+ * @return {ReactElement} a clone of child with props merged in.
31
31
  */
32
32
  function cloneWithProps(child, props) {
33
33
  if ("production" !== process.env.NODE_ENV) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
6
6
  * LICENSE file in the root directory of this source tree. An additional grant
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
- * @providesModule createArrayFrom
9
+ * @providesModule createArrayFromMixed
10
10
  * @typechecks
11
11
  */
12
12
 
@@ -56,10 +56,10 @@ function hasArrayNature(obj) {
56
56
  *
57
57
  * This is mostly useful idiomatically:
58
58
  *
59
- * var createArrayFrom = require('createArrayFrom');
59
+ * var createArrayFromMixed = require('createArrayFromMixed');
60
60
  *
61
61
  * function takesOneOrMoreThings(things) {
62
- * things = createArrayFrom(things);
62
+ * things = createArrayFromMixed(things);
63
63
  * ...
64
64
  * }
65
65
  *
@@ -71,7 +71,7 @@ function hasArrayNature(obj) {
71
71
  * @param {*} obj
72
72
  * @return {array}
73
73
  */
74
- function createArrayFrom(obj) {
74
+ function createArrayFromMixed(obj) {
75
75
  if (!hasArrayNature(obj)) {
76
76
  return [obj];
77
77
  } else if (Array.isArray(obj)) {
@@ -81,4 +81,4 @@ function createArrayFrom(obj) {
81
81
  }
82
82
  }
83
83
 
84
- module.exports = createArrayFrom;
84
+ module.exports = createArrayFromMixed;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -10,7 +10,7 @@
10
10
  * @typechecks
11
11
  */
12
12
 
13
- "use strict";
13
+ 'use strict';
14
14
 
15
15
  // Defeat circular references by requiring this directly.
16
16
  var ReactClass = require("./ReactClass");
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -14,7 +14,7 @@
14
14
 
15
15
  var ExecutionEnvironment = require("./ExecutionEnvironment");
16
16
 
17
- var createArrayFrom = require("./createArrayFrom");
17
+ var createArrayFromMixed = require("./createArrayFromMixed");
18
18
  var getMarkupWrap = require("./getMarkupWrap");
19
19
  var invariant = require("./invariant");
20
20
 
@@ -73,10 +73,10 @@ function createNodesFromMarkup(markup, handleScript) {
73
73
  handleScript,
74
74
  'createNodesFromMarkup(...): Unexpected <script> element rendered.'
75
75
  ) : invariant(handleScript));
76
- createArrayFrom(scripts).forEach(handleScript);
76
+ createArrayFromMixed(scripts).forEach(handleScript);
77
77
  }
78
78
 
79
- var nodes = createArrayFrom(node.childNodes);
79
+ var nodes = createArrayFromMixed(node.childNodes);
80
80
  while (node.lastChild) {
81
81
  node.removeChild(node.lastChild);
82
82
  }
package/lib/cx.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -24,7 +24,22 @@
24
24
  * @param [string ...] Variable list of classNames in the string case.
25
25
  * @return string Renderable space-separated CSS className.
26
26
  */
27
+
28
+ 'use strict';
29
+ var warning = require("./warning");
30
+
31
+ var warned = false;
32
+
27
33
  function cx(classNames) {
34
+ if ("production" !== process.env.NODE_ENV) {
35
+ ("production" !== process.env.NODE_ENV ? warning(
36
+ warned,
37
+ 'React.addons.classSet will be deprecated in a future version. See ' +
38
+ 'http://fb.me/react-addons-classset'
39
+ ) : null);
40
+ warned = true;
41
+ }
42
+
28
43
  if (typeof classNames == 'object') {
29
44
  return Object.keys(classNames).filter(function(className) {
30
45
  return classNames[className];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -10,7 +10,7 @@
10
10
  * @typechecks static-only
11
11
  */
12
12
 
13
- "use strict";
13
+ 'use strict';
14
14
 
15
15
  var CSSProperty = require("./CSSProperty");
16
16
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,23 +1,22 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
6
6
  * LICENSE file in the root directory of this source tree. An additional grant
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
- * @providesModule escapeTextForBrowser
10
- * @typechecks static-only
9
+ * @providesModule escapeTextContentForBrowser
11
10
  */
12
11
 
13
- "use strict";
12
+ 'use strict';
14
13
 
15
14
  var ESCAPE_LOOKUP = {
16
- "&": "&amp;",
17
- ">": "&gt;",
18
- "<": "&lt;",
19
- "\"": "&quot;",
20
- "'": "&#x27;"
15
+ '&': '&amp;',
16
+ '>': '&gt;',
17
+ '<': '&lt;',
18
+ '"': '&quot;',
19
+ '\'': '&#x27;'
21
20
  };
22
21
 
23
22
  var ESCAPE_REGEX = /[&><"']/g;
@@ -32,8 +31,8 @@ function escaper(match) {
32
31
  * @param {*} text Text value to escape.
33
32
  * @return {string} An escaped string.
34
33
  */
35
- function escapeTextForBrowser(text) {
34
+ function escapeTextContentForBrowser(text) {
36
35
  return ('' + text).replace(ESCAPE_REGEX, escaper);
37
36
  }
38
37
 
39
- module.exports = escapeTextForBrowser;
38
+ module.exports = escapeTextContentForBrowser;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -10,22 +10,38 @@
10
10
  * @typechecks static-only
11
11
  */
12
12
 
13
- "use strict";
13
+ 'use strict';
14
14
 
15
- var ReactComponent = require("./ReactComponent");
15
+ var ReactCurrentOwner = require("./ReactCurrentOwner");
16
16
  var ReactInstanceMap = require("./ReactInstanceMap");
17
17
  var ReactMount = require("./ReactMount");
18
18
 
19
19
  var invariant = require("./invariant");
20
20
  var isNode = require("./isNode");
21
+ var warning = require("./warning");
21
22
 
22
23
  /**
23
24
  * Returns the DOM node rendered by this element.
24
25
  *
25
- * @param {ReactComponent|DOMElement} element
26
+ * @param {ReactComponent|DOMElement} componentOrElement
26
27
  * @return {DOMElement} The root node of this element.
27
28
  */
28
29
  function findDOMNode(componentOrElement) {
30
+ if ("production" !== process.env.NODE_ENV) {
31
+ var owner = ReactCurrentOwner.current;
32
+ if (owner !== null) {
33
+ ("production" !== process.env.NODE_ENV ? warning(
34
+ owner._warnedAboutRefsInRender,
35
+ '%s is accessing getDOMNode or findDOMNode inside its render(). ' +
36
+ 'render() should be a pure function of props and state. It should ' +
37
+ 'never access something that requires stale data from the previous ' +
38
+ 'render, such as refs. Move this logic to componentDidMount and ' +
39
+ 'componentDidUpdate instead.',
40
+ owner.getName() || 'A component'
41
+ ) : null);
42
+ owner._warnedAboutRefsInRender = true;
43
+ }
44
+ }
29
45
  if (componentOrElement == null) {
30
46
  return null;
31
47
  }
@@ -36,12 +52,13 @@ function findDOMNode(componentOrElement) {
36
52
  return ReactMount.getNodeFromInstance(componentOrElement);
37
53
  }
38
54
  ("production" !== process.env.NODE_ENV ? invariant(
39
- !(componentOrElement.render != null && typeof(componentOrElement.render) === 'function'),
40
- 'Component contains `render` method but is not mounted in the DOM',
55
+ componentOrElement.render == null ||
56
+ typeof componentOrElement.render !== 'function',
57
+ 'Component (with keys: %s) contains `render` method ' +
58
+ 'but is not mounted in the DOM',
41
59
  Object.keys(componentOrElement)
42
- ) : invariant(
43
- !(componentOrElement.render != null && typeof(componentOrElement.render) === 'function')
44
- ));
60
+ ) : invariant(componentOrElement.render == null ||
61
+ typeof componentOrElement.render !== 'function'));
45
62
  ("production" !== process.env.NODE_ENV ? invariant(
46
63
  false,
47
64
  'Element appears to be neither ReactComponent nor DOMNode (keys: %s)',
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -9,7 +9,7 @@
9
9
  * @providesModule flattenChildren
10
10
  */
11
11
 
12
- "use strict";
12
+ 'use strict';
13
13
 
14
14
  var traverseAllChildren = require("./traverseAllChildren");
15
15
  var warning = require("./warning");
@@ -23,13 +23,15 @@ function flattenSingleChildIntoContext(traverseContext, child, name) {
23
23
  // We found a component instance.
24
24
  var result = traverseContext;
25
25
  var keyUnique = !result.hasOwnProperty(name);
26
- ("production" !== process.env.NODE_ENV ? warning(
27
- keyUnique,
28
- 'flattenChildren(...): Encountered two children with the same key, ' +
29
- '`%s`. Child keys must be unique; when two children share a key, only ' +
30
- 'the first child will be used.',
31
- name
32
- ) : null);
26
+ if ("production" !== process.env.NODE_ENV) {
27
+ ("production" !== process.env.NODE_ENV ? warning(
28
+ keyUnique,
29
+ 'flattenChildren(...): Encountered two children with the same key, ' +
30
+ '`%s`. Child keys must be unique; when two children share a key, only ' +
31
+ 'the first child will be used.',
32
+ name
33
+ ) : null);
34
+ }
33
35
  if (keyUnique && child != null) {
34
36
  result[name] = child;
35
37
  }
package/lib/focusNode.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2014, Facebook, Inc.
2
+ * Copyright 2014-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -9,7 +9,7 @@
9
9
  * @providesModule forEachAccumulated
10
10
  */
11
11
 
12
- "use strict";
12
+ 'use strict';
13
13
 
14
14
  /**
15
15
  * @param {array} an "accumulation" of items which is either an Array or
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2014, Facebook, Inc.
2
+ * Copyright 2013-2015, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -10,7 +10,7 @@
10
10
  * @typechecks static-only
11
11
  */
12
12
 
13
- "use strict";
13
+ 'use strict';
14
14
 
15
15
  /**
16
16
  * `charCode` represents the actual "character code" and is safe to use with