react 0.14.8 → 15.0.0-rc.1

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 (184) hide show
  1. package/LICENSE +1 -1
  2. package/addons.js +2 -0
  3. package/dist/react-with-addons.js +4203 -4148
  4. package/dist/react-with-addons.min.js +7 -7
  5. package/dist/react.js +4159 -3850
  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 +4 -1
  10. package/lib/CSSPropertyOperations.js +24 -10
  11. package/lib/CallbackQueue.js +13 -2
  12. package/lib/ChangeEventPlugin.js +58 -54
  13. package/lib/DOMChildrenOperations.js +93 -60
  14. package/lib/DOMLazyTree.js +96 -0
  15. package/lib/{ClientReactRootIndex.js → DOMNamespaces.js} +7 -10
  16. package/lib/DOMProperty.js +18 -39
  17. package/lib/DOMPropertyOperations.js +87 -53
  18. package/lib/Danger.js +13 -14
  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 +22 -66
  23. package/lib/EventPluginRegistry.js +30 -9
  24. package/lib/EventPluginUtils.js +61 -36
  25. package/lib/EventPropagators.js +19 -17
  26. package/lib/FallbackCompositionState.js +1 -2
  27. package/lib/HTMLDOMPropertyConfig.js +69 -90
  28. package/lib/LinkedStateMixin.js +1 -2
  29. package/lib/LinkedValueUtils.js +5 -6
  30. package/lib/MetaMatchers.js +2 -2
  31. package/lib/Object.assign.js +1 -1
  32. package/lib/OrderedMap.js +14 -14
  33. package/lib/PooledClass.js +2 -2
  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 +15 -13
  39. package/lib/ReactChildren.js +5 -4
  40. package/lib/ReactClass.js +37 -86
  41. package/lib/ReactComponent.js +7 -8
  42. package/lib/ReactComponentBrowserEnvironment.js +9 -6
  43. package/lib/ReactComponentEnvironment.js +4 -4
  44. package/lib/ReactComponentWithPureRenderMixin.js +2 -2
  45. package/lib/ReactCompositeComponent.js +160 -69
  46. package/lib/ReactCurrentOwner.js +2 -1
  47. package/lib/ReactDOM.js +27 -15
  48. package/lib/ReactDOMButton.js +2 -2
  49. package/lib/ReactDOMComponent.js +188 -244
  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 +69 -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 +11 -10
  61. package/lib/ReactDOMSVGDeprecatedAttributeDevtool.js +61 -0
  62. package/lib/ReactDOMSelect.js +40 -17
  63. package/lib/ReactDOMSelection.js +4 -4
  64. package/lib/ReactDOMServer.js +1 -1
  65. package/lib/ReactDOMTextComponent.js +84 -43
  66. package/lib/ReactDOMTextarea.js +36 -9
  67. package/lib/ReactDOMTreeTraversal.js +134 -0
  68. package/lib/ReactDOMUnknownPropertyDevtool.js +64 -0
  69. package/lib/ReactDebugTool.js +72 -0
  70. package/lib/ReactDefaultBatchingStrategy.js +1 -1
  71. package/lib/ReactDefaultInjection.js +11 -15
  72. package/lib/ReactDefaultPerf.js +59 -19
  73. package/lib/ReactDefaultPerfAnalysis.js +17 -9
  74. package/lib/ReactElement.js +60 -21
  75. package/lib/ReactElementValidator.js +8 -8
  76. package/lib/ReactEmptyComponent.js +8 -33
  77. package/lib/ReactErrorUtils.js +1 -2
  78. package/lib/ReactEventEmitterMixin.js +3 -8
  79. package/lib/ReactEventListener.js +20 -75
  80. package/lib/ReactFeatureFlags.js +21 -0
  81. package/lib/ReactFragment.js +6 -6
  82. package/lib/ReactInjection.js +3 -3
  83. package/lib/ReactInputSelection.js +4 -4
  84. package/lib/ReactInstanceHandles.js +10 -12
  85. package/lib/ReactInstanceMap.js +2 -1
  86. package/lib/ReactInstrumentation.js +16 -0
  87. package/lib/ReactInvalidSetStateWarningDevTool.js +36 -0
  88. package/lib/ReactIsomorphic.js +1 -1
  89. package/lib/ReactLink.js +2 -3
  90. package/lib/ReactMarkupChecksum.js +1 -1
  91. package/lib/ReactMount.js +87 -460
  92. package/lib/ReactMultiChild.js +106 -200
  93. package/lib/ReactMultiChildUpdateTypes.js +1 -1
  94. package/lib/ReactNativeComponent.js +3 -3
  95. package/lib/ReactNodeTypes.js +37 -0
  96. package/lib/ReactNoopUpdateQueue.js +2 -25
  97. package/lib/ReactOwner.js +3 -3
  98. package/lib/ReactPerf.js +2 -2
  99. package/lib/ReactPropTransferer.js +1 -1
  100. package/lib/ReactPropTypeLocationNames.js +1 -1
  101. package/lib/ReactPropTypeLocations.js +1 -1
  102. package/lib/ReactPropTypes.js +27 -3
  103. package/lib/ReactReconcileTransaction.js +17 -6
  104. package/lib/ReactReconciler.js +29 -6
  105. package/lib/ReactRef.js +1 -1
  106. package/lib/ReactServerBatchingStrategy.js +1 -2
  107. package/lib/ReactServerRendering.js +17 -35
  108. package/lib/ReactServerRenderingTransaction.js +8 -26
  109. package/lib/ReactSimpleEmptyComponent.js +36 -0
  110. package/lib/ReactStateSetters.js +1 -1
  111. package/lib/ReactTestUtils.js +33 -24
  112. package/lib/ReactTransitionChildMapping.js +1 -2
  113. package/lib/ReactTransitionEvents.js +8 -44
  114. package/lib/ReactTransitionGroup.js +1 -1
  115. package/lib/ReactUpdateQueue.js +6 -65
  116. package/lib/ReactUpdates.js +26 -9
  117. package/lib/ReactVersion.js +2 -2
  118. package/lib/ReactWithAddons.js +1 -14
  119. package/lib/ResponderEventPlugin.js +54 -66
  120. package/lib/ResponderSyntheticEvent.js +1 -2
  121. package/lib/ResponderTouchHistoryStore.js +5 -5
  122. package/lib/SVGDOMPropertyConfig.js +25 -66
  123. package/lib/SelectEventPlugin.js +13 -18
  124. package/lib/SimpleEventPlugin.js +57 -17
  125. package/lib/SyntheticAnimationEvent.js +39 -0
  126. package/lib/SyntheticClipboardEvent.js +2 -3
  127. package/lib/SyntheticCompositionEvent.js +2 -3
  128. package/lib/SyntheticDragEvent.js +2 -3
  129. package/lib/SyntheticEvent.js +97 -17
  130. package/lib/SyntheticFocusEvent.js +2 -3
  131. package/lib/SyntheticInputEvent.js +2 -3
  132. package/lib/SyntheticKeyboardEvent.js +2 -3
  133. package/lib/SyntheticMouseEvent.js +2 -3
  134. package/lib/SyntheticTouchEvent.js +2 -3
  135. package/lib/SyntheticTransitionEvent.js +39 -0
  136. package/lib/SyntheticUIEvent.js +2 -3
  137. package/lib/SyntheticWheelEvent.js +2 -3
  138. package/lib/TapEventPlugin.js +3 -12
  139. package/lib/Transaction.js +3 -3
  140. package/lib/ViewportMetrics.js +1 -1
  141. package/lib/accumulate.js +2 -2
  142. package/lib/accumulateInto.js +2 -2
  143. package/lib/adler32.js +3 -2
  144. package/lib/canDefineProperty.js +1 -1
  145. package/lib/createHierarchyRenderer.js +1 -1
  146. package/lib/createMicrosoftUnsafeLocalFunction.js +32 -0
  147. package/lib/dangerousStyleValue.js +25 -3
  148. package/lib/deprecated.js +4 -2
  149. package/lib/escapeTextContentForBrowser.js +1 -1
  150. package/lib/findDOMNode.js +15 -8
  151. package/lib/flattenChildren.js +2 -2
  152. package/lib/forEachAccumulated.js +2 -1
  153. package/lib/getEventCharCode.js +2 -2
  154. package/lib/getEventKey.js +1 -2
  155. package/lib/getEventModifierState.js +1 -2
  156. package/lib/getEventTarget.js +8 -2
  157. package/lib/getIteratorFn.js +2 -2
  158. package/lib/getNativeComponentFromComposite.js +30 -0
  159. package/lib/getNodeForCharacterOffset.js +2 -1
  160. package/lib/getTestDocument.js +1 -1
  161. package/lib/getTextContentAccessor.js +1 -1
  162. package/lib/getVendorPrefixedEventName.js +101 -0
  163. package/lib/instantiateReactComponent.js +9 -11
  164. package/lib/isEventSupported.js +2 -2
  165. package/lib/isTextInputElement.js +2 -1
  166. package/lib/onlyChild.js +2 -2
  167. package/lib/quoteAttributeValueForBrowser.js +1 -1
  168. package/lib/reactComponentExpect.js +2 -2
  169. package/lib/renderSubtreeIntoContainer.js +1 -1
  170. package/lib/setInnerHTML.js +5 -14
  171. package/lib/setTextContent.js +1 -1
  172. package/lib/shallowCompare.js +1 -1
  173. package/lib/shouldUpdateReactComponent.js +2 -3
  174. package/lib/sliceChildren.js +1 -1
  175. package/lib/traverseAllChildren.js +8 -8
  176. package/lib/update.js +12 -12
  177. package/lib/validateDOMNesting.js +15 -11
  178. package/package.json +2 -2
  179. package/lib/ReactBrowserComponentMixin.js +0 -36
  180. package/lib/ReactEmptyComponentRegistry.js +0 -48
  181. package/lib/ReactRootIndex.js +0 -29
  182. package/lib/ServerReactRootIndex.js +0 -29
  183. package/lib/cloneWithProps.js +0 -54
  184. 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
@@ -13,11 +13,11 @@
13
13
 
14
14
  var EventConstants = require('./EventConstants');
15
15
  var EventPluginHub = require('./EventPluginHub');
16
-
17
- var warning = require('fbjs/lib/warning');
16
+ var EventPluginUtils = require('./EventPluginUtils');
18
17
 
19
18
  var accumulateInto = require('./accumulateInto');
20
19
  var forEachAccumulated = require('./forEachAccumulated');
20
+ var warning = require('fbjs/lib/warning');
21
21
 
22
22
  var PropagationPhases = EventConstants.PropagationPhases;
23
23
  var getListener = EventPluginHub.getListener;
@@ -26,9 +26,9 @@ var getListener = EventPluginHub.getListener;
26
26
  * Some event types have a notion of different registration names for different
27
27
  * "phases" of propagation. This finds listeners by a given phase.
28
28
  */
29
- function listenerAtPhase(id, event, propagationPhase) {
29
+ function listenerAtPhase(inst, event, propagationPhase) {
30
30
  var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];
31
- return getListener(id, registrationName);
31
+ return getListener(inst, registrationName);
32
32
  }
33
33
 
34
34
  /**
@@ -37,15 +37,15 @@ function listenerAtPhase(id, event, propagationPhase) {
37
37
  * Mutating the event's members allows us to not have to create a wrapping
38
38
  * "dispatch" object that pairs the event with the listener.
39
39
  */
40
- function accumulateDirectionalDispatches(domID, upwards, event) {
40
+ function accumulateDirectionalDispatches(inst, upwards, event) {
41
41
  if (process.env.NODE_ENV !== 'production') {
42
- process.env.NODE_ENV !== 'production' ? warning(domID, 'Dispatching id must not be null') : undefined;
42
+ process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;
43
43
  }
44
44
  var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;
45
- var listener = listenerAtPhase(domID, event, phase);
45
+ var listener = listenerAtPhase(inst, event, phase);
46
46
  if (listener) {
47
47
  event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
48
- event._dispatchIDs = accumulateInto(event._dispatchIDs, domID);
48
+ event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
49
49
  }
50
50
  }
51
51
 
@@ -58,7 +58,7 @@ function accumulateDirectionalDispatches(domID, upwards, event) {
58
58
  */
59
59
  function accumulateTwoPhaseDispatchesSingle(event) {
60
60
  if (event && event.dispatchConfig.phasedRegistrationNames) {
61
- EventPluginHub.injection.getInstanceHandle().traverseTwoPhase(event.dispatchMarker, accumulateDirectionalDispatches, event);
61
+ EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
62
62
  }
63
63
  }
64
64
 
@@ -67,7 +67,9 @@ function accumulateTwoPhaseDispatchesSingle(event) {
67
67
  */
68
68
  function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
69
69
  if (event && event.dispatchConfig.phasedRegistrationNames) {
70
- EventPluginHub.injection.getInstanceHandle().traverseTwoPhaseSkipTarget(event.dispatchMarker, accumulateDirectionalDispatches, event);
70
+ var targetInst = event._targetInst;
71
+ var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;
72
+ EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);
71
73
  }
72
74
  }
73
75
 
@@ -76,13 +78,13 @@ function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
76
78
  * registration names. Same as `accumulateDirectDispatchesSingle` but without
77
79
  * requiring that the `dispatchMarker` be the same as the dispatched ID.
78
80
  */
79
- function accumulateDispatches(id, ignoredDirection, event) {
81
+ function accumulateDispatches(inst, ignoredDirection, event) {
80
82
  if (event && event.dispatchConfig.registrationName) {
81
83
  var registrationName = event.dispatchConfig.registrationName;
82
- var listener = getListener(id, registrationName);
84
+ var listener = getListener(inst, registrationName);
83
85
  if (listener) {
84
86
  event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
85
- event._dispatchIDs = accumulateInto(event._dispatchIDs, id);
87
+ event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
86
88
  }
87
89
  }
88
90
  }
@@ -94,7 +96,7 @@ function accumulateDispatches(id, ignoredDirection, event) {
94
96
  */
95
97
  function accumulateDirectDispatchesSingle(event) {
96
98
  if (event && event.dispatchConfig.registrationName) {
97
- accumulateDispatches(event.dispatchMarker, null, event);
99
+ accumulateDispatches(event._targetInst, null, event);
98
100
  }
99
101
  }
100
102
 
@@ -106,8 +108,8 @@ function accumulateTwoPhaseDispatchesSkipTarget(events) {
106
108
  forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);
107
109
  }
108
110
 
109
- function accumulateEnterLeaveDispatches(leave, enter, fromID, toID) {
110
- EventPluginHub.injection.getInstanceHandle().traverseEnterLeave(fromID, toID, accumulateDispatches, leave, enter);
111
+ function accumulateEnterLeaveDispatches(leave, enter, from, to) {
112
+ EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);
111
113
  }
112
114
 
113
115
  function accumulateDirectDispatches(events) {
@@ -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 FallbackCompositionState
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -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
@@ -12,9 +12,7 @@
12
12
  'use strict';
13
13
 
14
14
  var DOMProperty = require('./DOMProperty');
15
- var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');
16
15
 
17
- var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;
18
16
  var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;
19
17
  var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;
20
18
  var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS;
@@ -22,14 +20,8 @@ var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;
22
20
  var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;
23
21
  var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;
24
22
 
25
- var hasSVG;
26
- if (ExecutionEnvironment.canUseDOM) {
27
- var implementation = document.implementation;
28
- hasSVG = implementation && implementation.hasFeature && implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#BasicStructure', '1.1');
29
- }
30
-
31
23
  var HTMLDOMPropertyConfig = {
32
- isCustomAttribute: RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),
24
+ isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),
33
25
  Properties: {
34
26
  /**
35
27
  * Standard Properties
@@ -38,86 +30,84 @@ var HTMLDOMPropertyConfig = {
38
30
  acceptCharset: null,
39
31
  accessKey: null,
40
32
  action: null,
41
- allowFullScreen: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
42
- allowTransparency: MUST_USE_ATTRIBUTE,
33
+ allowFullScreen: HAS_BOOLEAN_VALUE,
34
+ allowTransparency: null,
43
35
  alt: null,
44
36
  async: HAS_BOOLEAN_VALUE,
45
37
  autoComplete: null,
46
38
  // autoFocus is polyfilled/normalized by AutoFocusUtils
47
39
  // autoFocus: HAS_BOOLEAN_VALUE,
48
40
  autoPlay: HAS_BOOLEAN_VALUE,
49
- capture: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
41
+ capture: HAS_BOOLEAN_VALUE,
50
42
  cellPadding: null,
51
43
  cellSpacing: null,
52
- charSet: MUST_USE_ATTRIBUTE,
53
- challenge: MUST_USE_ATTRIBUTE,
44
+ charSet: null,
45
+ challenge: null,
54
46
  checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
55
- classID: MUST_USE_ATTRIBUTE,
56
- // To set className on SVG elements, it's necessary to use .setAttribute;
57
- // this works on HTML elements too in all browsers except IE8. Conveniently,
58
- // IE8 doesn't support SVG and so we can simply use the attribute in
59
- // browsers that support SVG and the property in browsers that don't,
60
- // regardless of whether the element is HTML or SVG.
61
- className: hasSVG ? MUST_USE_ATTRIBUTE : MUST_USE_PROPERTY,
62
- cols: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,
47
+ cite: null,
48
+ classID: null,
49
+ className: null,
50
+ cols: HAS_POSITIVE_NUMERIC_VALUE,
63
51
  colSpan: null,
64
52
  content: null,
65
53
  contentEditable: null,
66
- contextMenu: MUST_USE_ATTRIBUTE,
67
- controls: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
54
+ contextMenu: null,
55
+ controls: HAS_BOOLEAN_VALUE,
68
56
  coords: null,
69
57
  crossOrigin: null,
70
58
  data: null, // For `<object />` acts as `src`.
71
- dateTime: MUST_USE_ATTRIBUTE,
59
+ dateTime: null,
72
60
  'default': HAS_BOOLEAN_VALUE,
73
61
  defer: HAS_BOOLEAN_VALUE,
74
62
  dir: null,
75
- disabled: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
63
+ disabled: HAS_BOOLEAN_VALUE,
76
64
  download: HAS_OVERLOADED_BOOLEAN_VALUE,
77
65
  draggable: null,
78
66
  encType: null,
79
- form: MUST_USE_ATTRIBUTE,
80
- formAction: MUST_USE_ATTRIBUTE,
81
- formEncType: MUST_USE_ATTRIBUTE,
82
- formMethod: MUST_USE_ATTRIBUTE,
67
+ form: null,
68
+ formAction: null,
69
+ formEncType: null,
70
+ formMethod: null,
83
71
  formNoValidate: HAS_BOOLEAN_VALUE,
84
- formTarget: MUST_USE_ATTRIBUTE,
85
- frameBorder: MUST_USE_ATTRIBUTE,
72
+ formTarget: null,
73
+ frameBorder: null,
86
74
  headers: null,
87
- height: MUST_USE_ATTRIBUTE,
88
- hidden: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
75
+ height: null,
76
+ hidden: HAS_BOOLEAN_VALUE,
89
77
  high: null,
90
78
  href: null,
91
79
  hrefLang: null,
92
80
  htmlFor: null,
93
81
  httpEquiv: null,
94
82
  icon: null,
95
- id: MUST_USE_PROPERTY,
96
- inputMode: MUST_USE_ATTRIBUTE,
83
+ id: null,
84
+ inputMode: null,
97
85
  integrity: null,
98
- is: MUST_USE_ATTRIBUTE,
99
- keyParams: MUST_USE_ATTRIBUTE,
100
- keyType: MUST_USE_ATTRIBUTE,
86
+ is: null,
87
+ keyParams: null,
88
+ keyType: null,
101
89
  kind: null,
102
90
  label: null,
103
91
  lang: null,
104
- list: MUST_USE_ATTRIBUTE,
105
- loop: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
92
+ list: null,
93
+ loop: HAS_BOOLEAN_VALUE,
106
94
  low: null,
107
- manifest: MUST_USE_ATTRIBUTE,
95
+ manifest: null,
108
96
  marginHeight: null,
109
97
  marginWidth: null,
110
98
  max: null,
111
- maxLength: MUST_USE_ATTRIBUTE,
112
- media: MUST_USE_ATTRIBUTE,
99
+ maxLength: null,
100
+ media: null,
113
101
  mediaGroup: null,
114
102
  method: null,
115
103
  min: null,
116
- minLength: MUST_USE_ATTRIBUTE,
104
+ minLength: null,
105
+ // Caution; `option.selected` is not updated if `select.multiple` is
106
+ // disabled with `removeAttribute`.
117
107
  multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
118
108
  muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
119
109
  name: null,
120
- nonce: MUST_USE_ATTRIBUTE,
110
+ nonce: null,
121
111
  noValidate: HAS_BOOLEAN_VALUE,
122
112
  open: HAS_BOOLEAN_VALUE,
123
113
  optimum: null,
@@ -125,29 +115,30 @@ var HTMLDOMPropertyConfig = {
125
115
  placeholder: null,
126
116
  poster: null,
127
117
  preload: null,
118
+ profile: null,
128
119
  radioGroup: null,
129
- readOnly: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
120
+ readOnly: HAS_BOOLEAN_VALUE,
130
121
  rel: null,
131
122
  required: HAS_BOOLEAN_VALUE,
132
123
  reversed: HAS_BOOLEAN_VALUE,
133
- role: MUST_USE_ATTRIBUTE,
134
- rows: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,
135
- rowSpan: null,
124
+ role: null,
125
+ rows: HAS_POSITIVE_NUMERIC_VALUE,
126
+ rowSpan: HAS_NUMERIC_VALUE,
136
127
  sandbox: null,
137
128
  scope: null,
138
129
  scoped: HAS_BOOLEAN_VALUE,
139
130
  scrolling: null,
140
- seamless: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
131
+ seamless: HAS_BOOLEAN_VALUE,
141
132
  selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
142
133
  shape: null,
143
- size: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,
144
- sizes: MUST_USE_ATTRIBUTE,
134
+ size: HAS_POSITIVE_NUMERIC_VALUE,
135
+ sizes: null,
145
136
  span: HAS_POSITIVE_NUMERIC_VALUE,
146
137
  spellCheck: null,
147
138
  src: null,
148
- srcDoc: MUST_USE_PROPERTY,
139
+ srcDoc: null,
149
140
  srcLang: null,
150
- srcSet: MUST_USE_ATTRIBUTE,
141
+ srcSet: null,
151
142
  start: HAS_NUMERIC_VALUE,
152
143
  step: null,
153
144
  style: null,
@@ -155,55 +146,56 @@ var HTMLDOMPropertyConfig = {
155
146
  tabIndex: null,
156
147
  target: null,
157
148
  title: null,
149
+ // Setting .type throws on non-<input> tags
158
150
  type: null,
159
151
  useMap: null,
160
152
  value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS,
161
- width: MUST_USE_ATTRIBUTE,
162
- wmode: MUST_USE_ATTRIBUTE,
153
+ width: null,
154
+ wmode: null,
163
155
  wrap: null,
164
156
 
165
157
  /**
166
158
  * RDFa Properties
167
159
  */
168
- about: MUST_USE_ATTRIBUTE,
169
- datatype: MUST_USE_ATTRIBUTE,
170
- inlist: MUST_USE_ATTRIBUTE,
171
- prefix: MUST_USE_ATTRIBUTE,
160
+ about: null,
161
+ datatype: null,
162
+ inlist: null,
163
+ prefix: null,
172
164
  // property is also supported for OpenGraph in meta tags.
173
- property: MUST_USE_ATTRIBUTE,
174
- resource: MUST_USE_ATTRIBUTE,
175
- 'typeof': MUST_USE_ATTRIBUTE,
176
- vocab: MUST_USE_ATTRIBUTE,
165
+ property: null,
166
+ resource: null,
167
+ 'typeof': null,
168
+ vocab: null,
177
169
 
178
170
  /**
179
171
  * Non-standard Properties
180
172
  */
181
173
  // autoCapitalize and autoCorrect are supported in Mobile Safari for
182
174
  // keyboard hints.
183
- autoCapitalize: MUST_USE_ATTRIBUTE,
184
- autoCorrect: MUST_USE_ATTRIBUTE,
175
+ autoCapitalize: null,
176
+ autoCorrect: null,
185
177
  // autoSave allows WebKit/Blink to persist values of input fields on page reloads
186
178
  autoSave: null,
187
179
  // color is for Safari mask-icon link
188
180
  color: null,
189
181
  // itemProp, itemScope, itemType are for
190
182
  // Microdata support. See http://schema.org/docs/gs.html
191
- itemProp: MUST_USE_ATTRIBUTE,
192
- itemScope: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
193
- itemType: MUST_USE_ATTRIBUTE,
183
+ itemProp: null,
184
+ itemScope: HAS_BOOLEAN_VALUE,
185
+ itemType: null,
194
186
  // itemID and itemRef are for Microdata support as well but
195
- // only specified in the the WHATWG spec document. See
187
+ // only specified in the WHATWG spec document. See
196
188
  // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api
197
- itemID: MUST_USE_ATTRIBUTE,
198
- itemRef: MUST_USE_ATTRIBUTE,
189
+ itemID: null,
190
+ itemRef: null,
199
191
  // results show looking glass icon and recent searches on input
200
192
  // search fields in WebKit/Blink
201
193
  results: null,
202
194
  // IE-only attribute that specifies security restrictions on an iframe
203
195
  // as an alternative to the sandbox attribute on IE<10
204
- security: MUST_USE_ATTRIBUTE,
196
+ security: null,
205
197
  // IE-only attribute that controls focus behavior
206
- unselectable: MUST_USE_ATTRIBUTE
198
+ unselectable: null
207
199
  },
208
200
  DOMAttributeNames: {
209
201
  acceptCharset: 'accept-charset',
@@ -211,20 +203,7 @@ var HTMLDOMPropertyConfig = {
211
203
  htmlFor: 'for',
212
204
  httpEquiv: 'http-equiv'
213
205
  },
214
- DOMPropertyNames: {
215
- autoComplete: 'autocomplete',
216
- autoFocus: 'autofocus',
217
- autoPlay: 'autoplay',
218
- autoSave: 'autosave',
219
- // `encoding` is equivalent to `enctype`, IE8 lacks an `enctype` setter.
220
- // http://www.w3.org/TR/html5/forms.html#dom-fs-encoding
221
- encType: 'encoding',
222
- hrefLang: 'hreflang',
223
- radioGroup: 'radiogroup',
224
- spellCheck: 'spellcheck',
225
- srcDoc: 'srcdoc',
226
- srcSet: 'srcset'
227
- }
206
+ DOMPropertyNames: {}
228
207
  };
229
208
 
230
209
  module.exports = HTMLDOMPropertyConfig;
@@ -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 LinkedStateMixin
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -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 LinkedValueUtils
10
- * @typechecks static-only
11
10
  */
12
11
 
13
12
  'use strict';
@@ -29,16 +28,16 @@ var hasReadOnlyValue = {
29
28
  };
30
29
 
31
30
  function _assertSingleLink(inputProps) {
32
- !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? 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;
31
+ !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? 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) : void 0;
33
32
  }
34
33
  function _assertValueLink(inputProps) {
35
34
  _assertSingleLink(inputProps);
36
- !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? 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;
35
+ !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? 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) : void 0;
37
36
  }
38
37
 
39
38
  function _assertCheckedLink(inputProps) {
40
39
  _assertSingleLink(inputProps);
41
- !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? 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;
40
+ !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? 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) : void 0;
42
41
  }
43
42
 
44
43
  var propTypes = {
@@ -84,7 +83,7 @@ var LinkedValueUtils = {
84
83
  loggedTypeFailures[error.message] = true;
85
84
 
86
85
  var addendum = getDeclarationErrorAddendum(owner);
87
- process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : undefined;
86
+ process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0;
88
87
  }
89
88
  }
90
89
  },