react 0.14.2 → 0.14.6

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.
@@ -117,6 +117,7 @@ var HTMLDOMPropertyConfig = {
117
117
  multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
118
118
  muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
119
119
  name: null,
120
+ nonce: MUST_USE_ATTRIBUTE,
120
121
  noValidate: HAS_BOOLEAN_VALUE,
121
122
  open: HAS_BOOLEAN_VALUE,
122
123
  optimum: null,
@@ -128,6 +129,7 @@ var HTMLDOMPropertyConfig = {
128
129
  readOnly: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
129
130
  rel: null,
130
131
  required: HAS_BOOLEAN_VALUE,
132
+ reversed: HAS_BOOLEAN_VALUE,
131
133
  role: MUST_USE_ATTRIBUTE,
132
134
  rows: MUST_USE_ATTRIBUTE | HAS_POSITIVE_NUMERIC_VALUE,
133
135
  rowSpan: null,
@@ -178,8 +180,8 @@ var HTMLDOMPropertyConfig = {
178
180
  */
179
181
  // autoCapitalize and autoCorrect are supported in Mobile Safari for
180
182
  // keyboard hints.
181
- autoCapitalize: null,
182
- autoCorrect: null,
183
+ autoCapitalize: MUST_USE_ATTRIBUTE,
184
+ autoCorrect: MUST_USE_ATTRIBUTE,
183
185
  // autoSave allows WebKit/Blink to persist values of input fields on page reloads
184
186
  autoSave: null,
185
187
  // color is for Safari mask-icon link
@@ -210,9 +212,7 @@ var HTMLDOMPropertyConfig = {
210
212
  httpEquiv: 'http-equiv'
211
213
  },
212
214
  DOMPropertyNames: {
213
- autoCapitalize: 'autocapitalize',
214
215
  autoComplete: 'autocomplete',
215
- autoCorrect: 'autocorrect',
216
216
  autoFocus: 'autofocus',
217
217
  autoPlay: 'autoplay',
218
218
  autoSave: 'autosave',
package/lib/React.js CHANGED
@@ -35,5 +35,6 @@ assign(React, {
35
35
  });
36
36
 
37
37
  React.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOM;
38
+ React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOMServer;
38
39
 
39
40
  module.exports = React;
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ // TODO: Once we remove the DOM bits from React, this shim can go away.
4
+
5
+ module.exports = require('./ReactIsomorphic');
@@ -96,6 +96,7 @@ var ReactCSSTransitionGroupChild = React.createClass({
96
96
  if (userSpecifiedDelay) {
97
97
  // Clean-up the animation after the specified delay
98
98
  timeout = setTimeout(endListener, userSpecifiedDelay);
99
+ this.transitionTimeouts.push(timeout);
99
100
  } else {
100
101
  // DEPRECATED: this listener will be removed in a future version of react
101
102
  ReactTransitionEvents.addEndEventListener(node, endListener);
@@ -120,12 +121,16 @@ var ReactCSSTransitionGroupChild = React.createClass({
120
121
 
121
122
  componentWillMount: function () {
122
123
  this.classNameQueue = [];
124
+ this.transitionTimeouts = [];
123
125
  },
124
126
 
125
127
  componentWillUnmount: function () {
126
128
  if (this.timeout) {
127
129
  clearTimeout(this.timeout);
128
130
  }
131
+ this.transitionTimeouts.forEach(function (timeout) {
132
+ clearTimeout(timeout);
133
+ });
129
134
  },
130
135
 
131
136
  componentWillAppear: function (done) {
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var ReactUpdates = require('./ReactUpdates');
4
+
5
+ // TODO: In React Native, ReactTestUtils depends on ./ReactDOM (for
6
+ // renderIntoDocument, which should never be called) and Relay depends on
7
+ // react-dom (for batching). Once those are fixed, nothing in RN should import
8
+ // this module and this file can go away.
9
+
10
+ module.exports = {
11
+ unstable_batchedUpdates: ReactUpdates.batchedUpdates,
12
+ };
@@ -28,7 +28,7 @@ function updateOptionsIfPendingUpdateAndMounted() {
28
28
  var value = LinkedValueUtils.getValue(props);
29
29
 
30
30
  if (value != null) {
31
- updateOptions(this, props, value);
31
+ updateOptions(this, Boolean(props.multiple), value);
32
32
  }
33
33
  }
34
34
  }
@@ -25,7 +25,9 @@ var DOM_OPERATION_TYPES = {
25
25
  'setValueForProperty': 'update attribute',
26
26
  'setValueForAttribute': 'update attribute',
27
27
  'deleteValueForProperty': 'remove attribute',
28
- 'dangerouslyReplaceNodeWithMarkupByID': 'replace'
28
+ 'setValueForStyles': 'update styles',
29
+ 'replaceNodeWithMarkup': 'replace',
30
+ 'updateTextContent': 'set textContent'
29
31
  };
30
32
 
31
33
  function getTotalTime(measurements) {
@@ -317,8 +317,11 @@ NoopInternalComponent.prototype = {
317
317
  this._currentElement = element;
318
318
  },
319
319
 
320
- unmountComponent: function () {}
320
+ unmountComponent: function () {},
321
321
 
322
+ getPublicInstance: function () {
323
+ return null;
324
+ }
322
325
  };
323
326
 
324
327
  var ShallowComponentWrapper = function () {};
@@ -11,4 +11,4 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- module.exports = '0.14.2';
14
+ module.exports = '0.14.6';
@@ -46,11 +46,11 @@ var trackedTouchCount = 0;
46
46
  */
47
47
  var previousActiveTouches = 0;
48
48
 
49
- var changeResponder = function (nextResponderID) {
49
+ var changeResponder = function (nextResponderID, blockNativeResponder) {
50
50
  var oldResponderID = responderID;
51
51
  responderID = nextResponderID;
52
52
  if (ResponderEventPlugin.GlobalResponderHandler !== null) {
53
- ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderID, nextResponderID);
53
+ ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderID, nextResponderID, blockNativeResponder);
54
54
  }
55
55
  };
56
56
 
@@ -69,7 +69,7 @@ var eventTypes = {
69
69
  /**
70
70
  * On a `scroll`, is it desired that this element become the responder? This
71
71
  * is usually not needed, but should be used to retroactively infer that a
72
- * `touchStart` had occurred during momentum scroll. During a momentum scroll,
72
+ * `touchStart` had occured during momentum scroll. During a momentum scroll,
73
73
  * a touch start will be immediately followed by a scroll event if the view is
74
74
  * currently scrolling.
75
75
  *
@@ -347,6 +347,7 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
347
347
  grantEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
348
348
 
349
349
  EventPropagators.accumulateDirectDispatches(grantEvent);
350
+ var blockNativeResponder = executeDirectDispatch(grantEvent) === true;
350
351
  if (responderID) {
351
352
 
352
353
  var terminationRequestEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderID, nativeEvent, nativeEventTarget);
@@ -363,7 +364,7 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
363
364
  terminateEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
364
365
  EventPropagators.accumulateDirectDispatches(terminateEvent);
365
366
  extracted = accumulate(extracted, [grantEvent, terminateEvent]);
366
- changeResponder(wantsResponderID);
367
+ changeResponder(wantsResponderID, blockNativeResponder);
367
368
  } else {
368
369
  var rejectEvent = ResponderSyntheticEvent.getPooled(eventTypes.responderReject, wantsResponderID, nativeEvent, nativeEventTarget);
369
370
  rejectEvent.touchHistory = ResponderTouchHistoryStore.touchHistory;
@@ -372,7 +373,7 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
372
373
  }
373
374
  } else {
374
375
  extracted = accumulate(extracted, grantEvent);
375
- changeResponder(wantsResponderID);
376
+ changeResponder(wantsResponderID, blockNativeResponder);
376
377
  }
377
378
  return extracted;
378
379
  }
@@ -385,8 +386,12 @@ function setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEv
385
386
  * @param {string} topLevelType Record from `EventConstants`.
386
387
  * @return {boolean} True if a transfer of responder could possibly occur.
387
388
  */
388
- function canTriggerTransfer(topLevelType, topLevelTargetID) {
389
- return topLevelTargetID && (topLevelType === EventConstants.topLevelTypes.topScroll || trackedTouchCount > 0 && topLevelType === EventConstants.topLevelTypes.topSelectionChange || isStartish(topLevelType) || isMoveish(topLevelType));
389
+ function canTriggerTransfer(topLevelType, topLevelTargetID, nativeEvent) {
390
+ return topLevelTargetID && (
391
+ // responderIgnoreScroll: We are trying to migrate away from specifically tracking native scroll
392
+ // events here and responderIgnoreScroll indicates we will send topTouchCancel to handle
393
+ // canceling touch events instead
394
+ topLevelType === EventConstants.topLevelTypes.topScroll && !nativeEvent.responderIgnoreScroll || trackedTouchCount > 0 && topLevelType === EventConstants.topLevelTypes.topSelectionChange || isStartish(topLevelType) || isMoveish(topLevelType));
390
395
  }
391
396
 
392
397
  /**
@@ -445,7 +450,7 @@ var ResponderEventPlugin = {
445
450
 
446
451
  ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent, nativeEventTarget);
447
452
 
448
- var extracted = canTriggerTransfer(topLevelType, topLevelTargetID) ? setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEvent, nativeEventTarget) : null;
453
+ var extracted = canTriggerTransfer(topLevelType, topLevelTargetID, nativeEvent) ? setResponderAndExtractTransfer(topLevelType, topLevelTargetID, nativeEvent, nativeEventTarget) : null;
449
454
  // Responder may or may not have transfered on a new touch start/move.
450
455
  // Regardless, whoever is the responder after any potential transfer, we
451
456
  // direct all touch start/move/ends to them in the form of
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react",
3
3
  "description": "React is a JavaScript library for building user interfaces.",
4
- "version": "0.14.2",
4
+ "version": "0.14.6",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
@@ -9,6 +9,8 @@
9
9
  "bugs": "https://github.com/facebook/react/issues",
10
10
  "license": "BSD-3-Clause",
11
11
  "files": [
12
+ "LICENSE",
13
+ "PATENTS",
12
14
  "addons.js",
13
15
  "react.js",
14
16
  "addons/",
@@ -22,7 +24,7 @@
22
24
  },
23
25
  "dependencies": {
24
26
  "envify": "^3.0.0",
25
- "fbjs": "^0.3.1"
27
+ "fbjs": "^0.6.1"
26
28
  },
27
29
  "browserify": {
28
30
  "transform": [