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.
- package/LICENSE +31 -0
- package/PATENTS +33 -0
- package/dist/react-with-addons.js +38 -19
- package/dist/react-with-addons.min.js +6 -6
- package/dist/react.js +29 -18
- package/dist/react.min.js +5 -5
- package/lib/HTMLDOMPropertyConfig.js +4 -4
- package/lib/React.js +1 -0
- package/lib/React.native.js +5 -0
- package/lib/ReactCSSTransitionGroupChild.js +5 -0
- package/lib/ReactDOM.native.js +12 -0
- package/lib/ReactDOMSelect.js +1 -1
- package/lib/ReactDefaultPerfAnalysis.js +3 -1
- package/lib/ReactTestUtils.js +4 -1
- package/lib/ReactVersion.js +1 -1
- package/lib/ResponderEventPlugin.js +13 -8
- package/package.json +4 -2
|
@@ -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:
|
|
182
|
-
autoCorrect:
|
|
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
|
@@ -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
|
+
};
|
package/lib/ReactDOMSelect.js
CHANGED
|
@@ -25,7 +25,9 @@ var DOM_OPERATION_TYPES = {
|
|
|
25
25
|
'setValueForProperty': 'update attribute',
|
|
26
26
|
'setValueForAttribute': 'update attribute',
|
|
27
27
|
'deleteValueForProperty': 'remove attribute',
|
|
28
|
-
'
|
|
28
|
+
'setValueForStyles': 'update styles',
|
|
29
|
+
'replaceNodeWithMarkup': 'replace',
|
|
30
|
+
'updateTextContent': 'set textContent'
|
|
29
31
|
};
|
|
30
32
|
|
|
31
33
|
function getTotalTime(measurements) {
|
package/lib/ReactTestUtils.js
CHANGED
|
@@ -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 () {};
|
package/lib/ReactVersion.js
CHANGED
|
@@ -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
|
|
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 && (
|
|
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.
|
|
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.
|
|
27
|
+
"fbjs": "^0.6.1"
|
|
26
28
|
},
|
|
27
29
|
"browserify": {
|
|
28
30
|
"transform": [
|