react 0.14.9 → 15.0.0-rc.2

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 (183) hide show
  1. package/LICENSE +1 -1
  2. package/addons.js +2 -0
  3. package/dist/react-with-addons.js +4299 -4138
  4. package/dist/react-with-addons.min.js +7 -7
  5. package/dist/react.js +4059 -3644
  6. package/dist/react.min.js +7 -7
  7. package/lib/AutoFocusUtils.js +3 -15
  8. package/lib/BeforeInputEventPlugin.js +8 -25
  9. package/lib/CSSProperty.js +10 -1
  10. package/lib/CSSPropertyOperations.js +21 -7
  11. package/lib/CallbackQueue.js +12 -1
  12. package/lib/ChangeEventPlugin.js +58 -54
  13. package/lib/DOMChildrenOperations.js +93 -60
  14. package/lib/DOMLazyTree.js +105 -0
  15. package/lib/{ClientReactRootIndex.js → DOMNamespaces.js} +7 -10
  16. package/lib/DOMProperty.js +15 -36
  17. package/lib/DOMPropertyOperations.js +40 -52
  18. package/lib/Danger.js +6 -7
  19. package/lib/DefaultEventPluginOrder.js +1 -1
  20. package/lib/EnterLeaveEventPlugin.js +24 -43
  21. package/lib/EventConstants.js +6 -1
  22. package/lib/EventPluginHub.js +20 -64
  23. package/lib/EventPluginRegistry.js +23 -2
  24. package/lib/EventPluginUtils.js +60 -35
  25. package/lib/EventPropagators.js +19 -17
  26. package/lib/FallbackCompositionState.js +1 -2
  27. package/lib/HTMLDOMPropertyConfig.js +131 -152
  28. package/lib/LinkedStateMixin.js +1 -2
  29. package/lib/LinkedValueUtils.js +2 -3
  30. package/lib/MetaMatchers.js +2 -2
  31. package/lib/Object.assign.js +1 -1
  32. package/lib/OrderedMap.js +1 -1
  33. package/lib/PooledClass.js +1 -1
  34. package/lib/React.js +1 -13
  35. package/lib/ReactBrowserEventEmitter.js +16 -24
  36. package/lib/ReactCSSTransitionGroup.js +1 -2
  37. package/lib/ReactCSSTransitionGroupChild.js +1 -6
  38. package/lib/ReactChildReconciler.js +14 -12
  39. package/lib/ReactChildren.js +5 -4
  40. package/lib/ReactClass.js +21 -70
  41. package/lib/ReactComponent.js +4 -5
  42. package/lib/ReactComponentBrowserEnvironment.js +9 -6
  43. package/lib/ReactComponentEnvironment.js +3 -3
  44. package/lib/ReactComponentWithPureRenderMixin.js +2 -2
  45. package/lib/ReactCompositeComponent.js +146 -55
  46. package/lib/ReactCurrentOwner.js +2 -1
  47. package/lib/ReactDOM.js +26 -14
  48. package/lib/ReactDOMButton.js +2 -2
  49. package/lib/ReactDOMComponent.js +162 -231
  50. package/lib/ReactDOMComponentFlags.js +18 -0
  51. package/lib/ReactDOMComponentTree.js +186 -0
  52. package/lib/ReactDOMContainerInfo.js +32 -0
  53. package/lib/ReactDOMDebugTool.js +61 -0
  54. package/lib/ReactDOMEmptyComponent.js +60 -0
  55. package/lib/ReactDOMFactories.js +1 -2
  56. package/lib/ReactDOMFeatureFlags.js +2 -2
  57. package/lib/ReactDOMIDOperations.js +5 -60
  58. package/lib/ReactDOMInput.js +71 -22
  59. package/lib/ReactDOMInstrumentation.js +16 -0
  60. package/lib/ReactDOMOption.js +9 -8
  61. package/lib/ReactDOMSelect.js +38 -15
  62. package/lib/ReactDOMSelection.js +4 -4
  63. package/lib/ReactDOMServer.js +1 -1
  64. package/lib/ReactDOMTextComponent.js +84 -43
  65. package/lib/ReactDOMTextarea.js +32 -5
  66. package/lib/ReactDOMTreeTraversal.js +134 -0
  67. package/lib/ReactDOMUnknownPropertyDevtool.js +64 -0
  68. package/lib/ReactDebugTool.js +72 -0
  69. package/lib/ReactDefaultBatchingStrategy.js +1 -1
  70. package/lib/ReactDefaultInjection.js +11 -15
  71. package/lib/ReactDefaultPerf.js +59 -19
  72. package/lib/ReactDefaultPerfAnalysis.js +17 -9
  73. package/lib/ReactElement.js +60 -21
  74. package/lib/ReactElementValidator.js +2 -2
  75. package/lib/ReactEmptyComponent.js +8 -33
  76. package/lib/ReactErrorUtils.js +1 -2
  77. package/lib/ReactEventEmitterMixin.js +3 -8
  78. package/lib/ReactEventListener.js +20 -75
  79. package/lib/ReactFeatureFlags.js +21 -0
  80. package/lib/ReactFragment.js +2 -2
  81. package/lib/ReactInjection.js +3 -3
  82. package/lib/ReactInputSelection.js +4 -4
  83. package/lib/ReactInstanceHandles.js +4 -6
  84. package/lib/ReactInstanceMap.js +2 -1
  85. package/lib/ReactInstrumentation.js +16 -0
  86. package/lib/ReactInvalidSetStateWarningDevTool.js +36 -0
  87. package/lib/ReactIsomorphic.js +1 -1
  88. package/lib/ReactLink.js +2 -3
  89. package/lib/ReactMarkupChecksum.js +8 -3
  90. package/lib/ReactMount.js +74 -447
  91. package/lib/ReactMultiChild.js +106 -200
  92. package/lib/ReactMultiChildUpdateTypes.js +1 -1
  93. package/lib/ReactNativeComponent.js +2 -2
  94. package/lib/ReactNodeTypes.js +37 -0
  95. package/lib/ReactNoopUpdateQueue.js +1 -24
  96. package/lib/ReactOwner.js +5 -4
  97. package/lib/ReactPerf.js +2 -2
  98. package/lib/ReactPropTransferer.js +1 -1
  99. package/lib/ReactPropTypeLocationNames.js +1 -1
  100. package/lib/ReactPropTypeLocations.js +1 -1
  101. package/lib/ReactPropTypes.js +31 -7
  102. package/lib/ReactReconcileTransaction.js +17 -6
  103. package/lib/ReactReconciler.js +29 -6
  104. package/lib/ReactRef.js +1 -1
  105. package/lib/ReactServerBatchingStrategy.js +1 -2
  106. package/lib/ReactServerRendering.js +16 -34
  107. package/lib/ReactServerRenderingTransaction.js +8 -26
  108. package/lib/ReactSimpleEmptyComponent.js +36 -0
  109. package/lib/ReactStateSetters.js +1 -1
  110. package/lib/ReactTestUtils.js +30 -21
  111. package/lib/ReactTransitionChildMapping.js +1 -2
  112. package/lib/ReactTransitionEvents.js +8 -44
  113. package/lib/ReactTransitionGroup.js +1 -1
  114. package/lib/ReactUpdateQueue.js +4 -63
  115. package/lib/ReactUpdates.js +19 -2
  116. package/lib/ReactVersion.js +2 -2
  117. package/lib/ReactWithAddons.js +1 -14
  118. package/lib/ResponderEventPlugin.js +53 -65
  119. package/lib/ResponderSyntheticEvent.js +2 -3
  120. package/lib/ResponderTouchHistoryStore.js +1 -1
  121. package/lib/SVGDOMPropertyConfig.js +267 -94
  122. package/lib/SelectEventPlugin.js +13 -18
  123. package/lib/SimpleEventPlugin.js +56 -16
  124. package/lib/SyntheticAnimationEvent.js +39 -0
  125. package/lib/SyntheticClipboardEvent.js +2 -3
  126. package/lib/SyntheticCompositionEvent.js +2 -3
  127. package/lib/SyntheticDragEvent.js +2 -3
  128. package/lib/SyntheticEvent.js +97 -17
  129. package/lib/SyntheticFocusEvent.js +2 -3
  130. package/lib/SyntheticInputEvent.js +2 -3
  131. package/lib/SyntheticKeyboardEvent.js +2 -3
  132. package/lib/SyntheticMouseEvent.js +2 -3
  133. package/lib/SyntheticTouchEvent.js +2 -3
  134. package/lib/SyntheticTransitionEvent.js +39 -0
  135. package/lib/SyntheticUIEvent.js +2 -3
  136. package/lib/SyntheticWheelEvent.js +2 -3
  137. package/lib/TapEventPlugin.js +3 -12
  138. package/lib/Transaction.js +1 -1
  139. package/lib/ViewportMetrics.js +1 -1
  140. package/lib/accumulate.js +1 -1
  141. package/lib/accumulateInto.js +1 -1
  142. package/lib/adler32.js +3 -2
  143. package/lib/canDefineProperty.js +1 -1
  144. package/lib/createHierarchyRenderer.js +1 -1
  145. package/lib/createMicrosoftUnsafeLocalFunction.js +32 -0
  146. package/lib/dangerousStyleValue.js +25 -3
  147. package/lib/deprecated.js +3 -1
  148. package/lib/escapeTextContentForBrowser.js +1 -1
  149. package/lib/findDOMNode.js +15 -8
  150. package/lib/flattenChildren.js +1 -1
  151. package/lib/forEachAccumulated.js +2 -1
  152. package/lib/getEventCharCode.js +2 -2
  153. package/lib/getEventKey.js +1 -2
  154. package/lib/getEventModifierState.js +1 -2
  155. package/lib/getEventTarget.js +8 -2
  156. package/lib/getIteratorFn.js +2 -2
  157. package/lib/getNativeComponentFromComposite.js +30 -0
  158. package/lib/getNodeForCharacterOffset.js +2 -1
  159. package/lib/getTestDocument.js +1 -1
  160. package/lib/getTextContentAccessor.js +1 -1
  161. package/lib/getVendorPrefixedEventName.js +101 -0
  162. package/lib/instantiateReactComponent.js +7 -9
  163. package/lib/isEventSupported.js +2 -2
  164. package/lib/isTextInputElement.js +2 -1
  165. package/lib/onlyChild.js +1 -1
  166. package/lib/quoteAttributeValueForBrowser.js +1 -1
  167. package/lib/reactComponentExpect.js +1 -1
  168. package/lib/renderSubtreeIntoContainer.js +1 -1
  169. package/lib/setInnerHTML.js +5 -14
  170. package/lib/setTextContent.js +1 -1
  171. package/lib/shallowCompare.js +1 -1
  172. package/lib/shouldUpdateReactComponent.js +2 -3
  173. package/lib/sliceChildren.js +1 -1
  174. package/lib/traverseAllChildren.js +6 -6
  175. package/lib/update.js +2 -2
  176. package/lib/validateDOMNesting.js +15 -11
  177. package/package.json +2 -2
  178. package/lib/ReactBrowserComponentMixin.js +0 -36
  179. package/lib/ReactEmptyComponentRegistry.js +0 -48
  180. package/lib/ReactRootIndex.js +0 -29
  181. package/lib/ServerReactRootIndex.js +0 -29
  182. package/lib/cloneWithProps.js +0 -54
  183. package/lib/webcomponents.js +0 -6379
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticFocusEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -29,7 +28,7 @@ var FocusEventInterface = {
29
28
  * @extends {SyntheticUIEvent}
30
29
  */
31
30
  function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
32
- SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
31
+ return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
33
32
  }
34
33
 
35
34
  SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticInputEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -30,7 +29,7 @@ var InputEventInterface = {
30
29
  * @extends {SyntheticUIEvent}
31
30
  */
32
31
  function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
33
- SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
32
+ return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
34
33
  }
35
34
 
36
35
  SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticKeyboardEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -77,7 +76,7 @@ var KeyboardEventInterface = {
77
76
  * @extends {SyntheticUIEvent}
78
77
  */
79
78
  function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
80
- SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
79
+ return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
81
80
  }
82
81
 
83
82
  SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticMouseEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -65,7 +64,7 @@ var MouseEventInterface = {
65
64
  * @extends {SyntheticUIEvent}
66
65
  */
67
66
  function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
68
- SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
67
+ return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
69
68
  }
70
69
 
71
70
  SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticTouchEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -38,7 +37,7 @@ var TouchEventInterface = {
38
37
  * @extends {SyntheticUIEvent}
39
38
  */
40
39
  function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
41
- SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
40
+ return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
42
41
  }
43
42
 
44
43
  SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright 2013-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ * @providesModule SyntheticTransitionEvent
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ var SyntheticEvent = require('./SyntheticEvent');
15
+
16
+ /**
17
+ * @interface Event
18
+ * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-
19
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent
20
+ */
21
+ var TransitionEventInterface = {
22
+ propertyName: null,
23
+ elapsedTime: null,
24
+ pseudoElement: null
25
+ };
26
+
27
+ /**
28
+ * @param {object} dispatchConfig Configuration used to dispatch this event.
29
+ * @param {string} dispatchMarker Marker identifying the event target.
30
+ * @param {object} nativeEvent Native browser event.
31
+ * @extends {SyntheticEvent}
32
+ */
33
+ function SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
34
+ return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
35
+ }
36
+
37
+ SyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);
38
+
39
+ module.exports = SyntheticTransitionEvent;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticUIEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -52,7 +51,7 @@ var UIEventInterface = {
52
51
  * @extends {SyntheticEvent}
53
52
  */
54
53
  function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
55
- SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
54
+ return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
56
55
  }
57
56
 
58
57
  SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule SyntheticWheelEvent
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -47,7 +46,7 @@ var WheelEventInterface = {
47
46
  * @extends {SyntheticMouseEvent}
48
47
  */
49
48
  function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
50
- SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
49
+ return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
51
50
  }
52
51
 
53
52
  SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,7 +7,6 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule TapEventPlugin
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -75,15 +74,7 @@ var TapEventPlugin = {
75
74
 
76
75
  eventTypes: eventTypes,
77
76
 
78
- /**
79
- * @param {string} topLevelType Record from `EventConstants`.
80
- * @param {DOMEventTarget} topLevelTarget The listening component root node.
81
- * @param {string} topLevelTargetID ID of `topLevelTarget`.
82
- * @param {object} nativeEvent Native browser event.
83
- * @return {*} An accumulation of synthetic events.
84
- * @see {EventPluginHub.extractEvents}
85
- */
86
- extractEvents: function (topLevelType, topLevelTarget, topLevelTargetID, nativeEvent, nativeEventTarget) {
77
+ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
87
78
  if (!isStartish(topLevelType) && !isEndish(topLevelType)) {
88
79
  return null;
89
80
  }
@@ -101,7 +92,7 @@ var TapEventPlugin = {
101
92
  var event = null;
102
93
  var distance = getDistance(startCoords, nativeEvent);
103
94
  if (isEndish(topLevelType) && distance < tapMoveThreshold) {
104
- event = SyntheticUIEvent.getPooled(eventTypes.touchTap, topLevelTargetID, nativeEvent, nativeEventTarget);
95
+ event = SyntheticUIEvent.getPooled(eventTypes.touchTap, targetInst, nativeEvent, nativeEventTarget);
105
96
  }
106
97
  if (isStartish(topLevelType)) {
107
98
  startCoords.x = getAxisCoordOfEvent(Axis.x, nativeEvent);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, 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-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
package/lib/accumulate.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, 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-2015, Facebook, Inc.
2
+ * Copyright 2014-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
package/lib/adler32.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -25,7 +25,8 @@ function adler32(data) {
25
25
  var l = data.length;
26
26
  var m = l & ~0x3;
27
27
  while (i < m) {
28
- for (; i < Math.min(i + 4096, m); i += 4) {
28
+ var n = Math.min(i + 4096, m);
29
+ for (; i < n; i += 4) {
29
30
  b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));
30
31
  }
31
32
  a %= MOD;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, 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-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright 2013-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ * @providesModule createMicrosoftUnsafeLocalFunction
10
+ */
11
+
12
+ /* globals MSApp */
13
+
14
+ 'use strict';
15
+
16
+ /**
17
+ * Create a function which has 'unsafe' privileges (required by windows8 apps)
18
+ */
19
+
20
+ var createMicrosoftUnsafeLocalFunction = function (func) {
21
+ if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {
22
+ return function (arg0, arg1, arg2, arg3) {
23
+ MSApp.execUnsafeLocalFunction(function () {
24
+ return func(arg0, arg1, arg2, arg3);
25
+ });
26
+ };
27
+ } else {
28
+ return func;
29
+ }
30
+ };
31
+
32
+ module.exports = createMicrosoftUnsafeLocalFunction;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,14 +7,15 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule dangerousStyleValue
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
14
13
 
15
14
  var CSSProperty = require('./CSSProperty');
15
+ var warning = require('fbjs/lib/warning');
16
16
 
17
17
  var isUnitlessNumber = CSSProperty.isUnitlessNumber;
18
+ var styleWarnings = {};
18
19
 
19
20
  /**
20
21
  * Convert a value into the proper css writable value. The style name `name`
@@ -23,9 +24,10 @@ var isUnitlessNumber = CSSProperty.isUnitlessNumber;
23
24
  *
24
25
  * @param {string} name CSS property name such as `topMargin`.
25
26
  * @param {*} value CSS property value such as `10px`.
27
+ * @param {ReactDOMComponent} component
26
28
  * @return {string} Normalized style value with dimensions applied.
27
29
  */
28
- function dangerousStyleValue(name, value) {
30
+ function dangerousStyleValue(name, value, component) {
29
31
  // Note that we've removed escapeTextForBrowser() calls here since the
30
32
  // whole string will be escaped when the attribute is injected into
31
33
  // the markup. If you provide unsafe user data here they can inject
@@ -47,6 +49,26 @@ function dangerousStyleValue(name, value) {
47
49
  }
48
50
 
49
51
  if (typeof value === 'string') {
52
+ if (process.env.NODE_ENV !== 'production') {
53
+ if (component) {
54
+ var owner = component._currentElement._owner;
55
+ var ownerName = owner ? owner.getName() : null;
56
+ if (ownerName && !styleWarnings[ownerName]) {
57
+ styleWarnings[ownerName] = {};
58
+ }
59
+ var warned = false;
60
+ if (ownerName) {
61
+ var warnings = styleWarnings[ownerName];
62
+ warned = warnings[name];
63
+ if (!warned) {
64
+ warnings[name] = true;
65
+ }
66
+ }
67
+ if (!warned) {
68
+ process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : undefined;
69
+ }
70
+ }
71
+ }
50
72
  value = value.trim();
51
73
  }
52
74
  return value + 'px';
package/lib/deprecated.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -30,10 +30,12 @@ function deprecated(fnName, newModule, newPackage, ctx, fn) {
30
30
  if (process.env.NODE_ENV !== 'production') {
31
31
  var newFn = function () {
32
32
  process.env.NODE_ENV !== 'production' ? warning(warned,
33
+ /* eslint-disable no-useless-concat */
33
34
  // Require examples in this string must be split to prevent React's
34
35
  // build tools from mistaking them for real requires.
35
36
  // Otherwise the build tools will attempt to build a '%s' module.
36
37
  'React.%s is deprecated. Please use %s.%s from require' + '(\'%s\') ' + 'instead.', fnName, newModule, fnName, newPackage) : undefined;
38
+ /* eslint-enable no-useless-concat */
37
39
  warned = true;
38
40
  return fn.apply(ctx, arguments);
39
41
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2013-2015, Facebook, Inc.
2
+ * Copyright 2013-present, 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-2015, Facebook, Inc.
2
+ * Copyright 2013-present, Facebook, Inc.
3
3
  * All rights reserved.
4
4
  *
5
5
  * This source code is licensed under the BSD-style license found in the
@@ -7,15 +7,15 @@
7
7
  * of patent rights can be found in the PATENTS file in the same directory.
8
8
  *
9
9
  * @providesModule findDOMNode
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
14
13
 
15
14
  var ReactCurrentOwner = require('./ReactCurrentOwner');
15
+ var ReactDOMComponentTree = require('./ReactDOMComponentTree');
16
16
  var ReactInstanceMap = require('./ReactInstanceMap');
17
- var ReactMount = require('./ReactMount');
18
17
 
18
+ var getNativeComponentFromComposite = require('./getNativeComponentFromComposite');
19
19
  var invariant = require('fbjs/lib/invariant');
20
20
  var warning = require('fbjs/lib/warning');
21
21
 
@@ -29,7 +29,7 @@ function findDOMNode(componentOrElement) {
29
29
  if (process.env.NODE_ENV !== 'production') {
30
30
  var owner = ReactCurrentOwner.current;
31
31
  if (owner !== null) {
32
- process.env.NODE_ENV !== 'production' ? 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;
32
+ process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing 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;
33
33
  owner._warnedAboutRefsInRender = true;
34
34
  }
35
35
  }
@@ -39,11 +39,18 @@ function findDOMNode(componentOrElement) {
39
39
  if (componentOrElement.nodeType === 1) {
40
40
  return componentOrElement;
41
41
  }
42
- if (ReactInstanceMap.has(componentOrElement)) {
43
- return ReactMount.getNodeFromInstance(componentOrElement);
42
+
43
+ var inst = ReactInstanceMap.get(componentOrElement);
44
+ if (inst) {
45
+ inst = getNativeComponentFromComposite(inst);
46
+ return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null;
47
+ }
48
+
49
+ if (typeof componentOrElement.render === 'function') {
50
+ !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : invariant(false) : undefined;
51
+ } else {
52
+ !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false) : undefined;
44
53
  }
45
- !(componentOrElement.render == null || typeof componentOrElement.render !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : invariant(false) : undefined;
46
- !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false) : undefined;
47
54
  }
48
55
 
49
56
  module.exports = findDOMNode;