react 15.0.2-alpha.4 → 15.1.0-alpha.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.
- package/dist/react-with-addons.js +1556 -935
- package/dist/react-with-addons.min.js +6 -6
- package/dist/react.js +1511 -1337
- package/dist/react.min.js +6 -6
- package/lib/CSSPropertyOperations.js +5 -5
- package/lib/DOMChildrenOperations.js +34 -6
- package/lib/DOMLazyTree.js +15 -3
- package/lib/DOMPropertyOperations.js +22 -13
- package/lib/LinkedStateMixin.js +1 -0
- package/lib/ReactCSSTransitionGroup.js +5 -0
- package/lib/ReactChildren.js +9 -1
- package/lib/ReactClass.js +1 -0
- package/lib/ReactComponentBrowserEnvironment.js +0 -5
- package/lib/ReactComponentTreeDevtool.js +140 -0
- package/lib/ReactComponentWithPureRenderMixin.js +2 -0
- package/lib/ReactCompositeComponent.js +147 -18
- package/lib/ReactDOM.js +1 -4
- package/lib/ReactDOMComponent.js +51 -11
- package/lib/ReactDOMIDOperations.js +0 -5
- package/lib/ReactDOMInput.js +5 -3
- package/lib/ReactDOMTextComponent.js +7 -6
- package/lib/ReactDebugTool.js +162 -10
- package/lib/ReactDefaultInjection.js +0 -9
- package/lib/ReactElement.js +26 -0
- package/lib/ReactErrorUtils.js +65 -15
- package/lib/ReactFragment.js +5 -2
- package/lib/ReactInjection.js +0 -2
- package/lib/ReactLink.js +3 -0
- package/lib/ReactMount.js +19 -7
- package/lib/ReactMultiChild.js +21 -0
- package/lib/ReactNativeAttributePayload.js +7 -36
- package/lib/{IOSNativeBridgeEventPlugin.js → ReactNativeBridgeEventPlugin.js} +8 -5
- package/lib/ReactNativeDOMIDOperations.js +3 -6
- package/lib/ReactNativeDefaultInjection.js +15 -12
- package/lib/ReactNativeEventEmitter.js +6 -3
- package/lib/{IOSDefaultEventPluginOrder.js → ReactNativeEventPluginOrder.js} +3 -3
- package/lib/ReactNativeMount.js +18 -7
- package/lib/ReactNativeOperationHistoryDevtool.js +32 -0
- package/lib/ReactNativeTextComponent.js +8 -0
- package/lib/ReactPerf.js +397 -75
- package/lib/ReactReconciler.js +46 -5
- package/lib/ReactServerRendering.js +16 -1
- package/lib/ReactServerRenderingTransaction.js +5 -1
- package/lib/ReactTestUtils.js +4 -0
- package/lib/ReactTransitionGroup.js +5 -0
- package/lib/ReactUpdates.js +21 -3
- package/lib/ReactVersion.js +1 -1
- package/lib/ReactWithAddons.js +1 -1
- package/lib/findDOMNode.js +2 -0
- package/lib/instantiateReactComponent.js +32 -1
- package/lib/onlyChild.js +7 -4
- package/lib/shallowCompare.js +1 -0
- package/lib/update.js +4 -0
- package/package.json +2 -2
- package/lib/ReactDebugInstanceMap.js +0 -102
- package/lib/ReactDefaultPerf.js +0 -316
- package/lib/ReactDefaultPerfAnalysis.js +0 -210
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* React (with addons) v15.0
|
|
2
|
+
* React (with addons) v15.1.0-alpha.1
|
|
3
3
|
*/
|
|
4
4
|
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
|
5
5
|
/**
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
-
var ReactDOMComponentTree = _dereq_(
|
|
18
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
19
19
|
|
|
20
20
|
var focusNode = _dereq_(167);
|
|
21
21
|
|
|
@@ -26,7 +26,7 @@ var AutoFocusUtils = {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
module.exports = AutoFocusUtils;
|
|
29
|
-
},{"167":167,"
|
|
29
|
+
},{"167":167,"45":45}],2:[function(_dereq_,module,exports){
|
|
30
30
|
/**
|
|
31
31
|
* Copyright 2013-present Facebook, Inc.
|
|
32
32
|
* All rights reserved.
|
|
@@ -580,7 +580,7 @@ module.exports = CSSProperty;
|
|
|
580
580
|
|
|
581
581
|
var CSSProperty = _dereq_(3);
|
|
582
582
|
var ExecutionEnvironment = _dereq_(159);
|
|
583
|
-
var
|
|
583
|
+
var ReactInstrumentation = _dereq_(76);
|
|
584
584
|
|
|
585
585
|
var camelizeStyleName = _dereq_(161);
|
|
586
586
|
var dangerousStyleValue = _dereq_(130);
|
|
@@ -734,6 +734,10 @@ var CSSPropertyOperations = {
|
|
|
734
734
|
* @param {ReactDOMComponent} component
|
|
735
735
|
*/
|
|
736
736
|
setValueForStyles: function (node, styles, component) {
|
|
737
|
+
if ("development" !== 'production') {
|
|
738
|
+
ReactInstrumentation.debugTool.onNativeOperation(component._debugID, 'update styles', styles);
|
|
739
|
+
}
|
|
740
|
+
|
|
737
741
|
var style = node.style;
|
|
738
742
|
for (var styleName in styles) {
|
|
739
743
|
if (!styles.hasOwnProperty(styleName)) {
|
|
@@ -765,12 +769,8 @@ var CSSPropertyOperations = {
|
|
|
765
769
|
|
|
766
770
|
};
|
|
767
771
|
|
|
768
|
-
ReactPerf.measureMethods(CSSPropertyOperations, 'CSSPropertyOperations', {
|
|
769
|
-
setValueForStyles: 'setValueForStyles'
|
|
770
|
-
});
|
|
771
|
-
|
|
772
772
|
module.exports = CSSPropertyOperations;
|
|
773
|
-
},{"130":130,"159":159,"161":161,"172":172,"179":179,"183":183,"3":3,"
|
|
773
|
+
},{"130":130,"159":159,"161":161,"172":172,"179":179,"183":183,"3":3,"76":76}],5:[function(_dereq_,module,exports){
|
|
774
774
|
/**
|
|
775
775
|
* Copyright 2013-present, Facebook, Inc.
|
|
776
776
|
* All rights reserved.
|
|
@@ -894,7 +894,7 @@ var EventConstants = _dereq_(16);
|
|
|
894
894
|
var EventPluginHub = _dereq_(17);
|
|
895
895
|
var EventPropagators = _dereq_(20);
|
|
896
896
|
var ExecutionEnvironment = _dereq_(159);
|
|
897
|
-
var ReactDOMComponentTree = _dereq_(
|
|
897
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
898
898
|
var ReactUpdates = _dereq_(104);
|
|
899
899
|
var SyntheticEvent = _dereq_(115);
|
|
900
900
|
|
|
@@ -1202,7 +1202,7 @@ var ChangeEventPlugin = {
|
|
|
1202
1202
|
};
|
|
1203
1203
|
|
|
1204
1204
|
module.exports = ChangeEventPlugin;
|
|
1205
|
-
},{"104":104,"115":115,"138":138,"145":145,"146":146,"159":159,"16":16,"17":17,"177":177,"20":20,"
|
|
1205
|
+
},{"104":104,"115":115,"138":138,"145":145,"146":146,"159":159,"16":16,"17":17,"177":177,"20":20,"45":45}],7:[function(_dereq_,module,exports){
|
|
1206
1206
|
/**
|
|
1207
1207
|
* Copyright 2013-present, Facebook, Inc.
|
|
1208
1208
|
* All rights reserved.
|
|
@@ -1218,8 +1218,9 @@ module.exports = ChangeEventPlugin;
|
|
|
1218
1218
|
|
|
1219
1219
|
var DOMLazyTree = _dereq_(8);
|
|
1220
1220
|
var Danger = _dereq_(12);
|
|
1221
|
-
var ReactMultiChildUpdateTypes = _dereq_(
|
|
1222
|
-
var
|
|
1221
|
+
var ReactMultiChildUpdateTypes = _dereq_(82);
|
|
1222
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
1223
|
+
var ReactInstrumentation = _dereq_(76);
|
|
1223
1224
|
|
|
1224
1225
|
var createMicrosoftUnsafeLocalFunction = _dereq_(129);
|
|
1225
1226
|
var setInnerHTML = _dereq_(150);
|
|
@@ -1314,6 +1315,18 @@ function replaceDelimitedText(openingComment, closingComment, stringText) {
|
|
|
1314
1315
|
removeDelimitedText(parentNode, openingComment, closingComment);
|
|
1315
1316
|
}
|
|
1316
1317
|
}
|
|
1318
|
+
|
|
1319
|
+
if ("development" !== 'production') {
|
|
1320
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText);
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
var dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;
|
|
1325
|
+
if ("development" !== 'production') {
|
|
1326
|
+
dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {
|
|
1327
|
+
Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);
|
|
1328
|
+
ReactInstrumentation.debugTool.onNativeOperation(prevInstance._debugID, 'replace with', markup.toString());
|
|
1329
|
+
};
|
|
1317
1330
|
}
|
|
1318
1331
|
|
|
1319
1332
|
/**
|
|
@@ -1321,7 +1334,7 @@ function replaceDelimitedText(openingComment, closingComment, stringText) {
|
|
|
1321
1334
|
*/
|
|
1322
1335
|
var DOMChildrenOperations = {
|
|
1323
1336
|
|
|
1324
|
-
dangerouslyReplaceNodeWithMarkup:
|
|
1337
|
+
dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,
|
|
1325
1338
|
|
|
1326
1339
|
replaceDelimitedText: replaceDelimitedText,
|
|
1327
1340
|
|
|
@@ -1333,23 +1346,42 @@ var DOMChildrenOperations = {
|
|
|
1333
1346
|
* @internal
|
|
1334
1347
|
*/
|
|
1335
1348
|
processUpdates: function (parentNode, updates) {
|
|
1349
|
+
if ("development" !== 'production') {
|
|
1350
|
+
var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1336
1353
|
for (var k = 0; k < updates.length; k++) {
|
|
1337
1354
|
var update = updates[k];
|
|
1338
1355
|
switch (update.type) {
|
|
1339
1356
|
case ReactMultiChildUpdateTypes.INSERT_MARKUP:
|
|
1340
1357
|
insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));
|
|
1358
|
+
if ("development" !== 'production') {
|
|
1359
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() });
|
|
1360
|
+
}
|
|
1341
1361
|
break;
|
|
1342
1362
|
case ReactMultiChildUpdateTypes.MOVE_EXISTING:
|
|
1343
1363
|
moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));
|
|
1364
|
+
if ("development" !== 'production') {
|
|
1365
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex });
|
|
1366
|
+
}
|
|
1344
1367
|
break;
|
|
1345
1368
|
case ReactMultiChildUpdateTypes.SET_MARKUP:
|
|
1346
1369
|
setInnerHTML(parentNode, update.content);
|
|
1370
|
+
if ("development" !== 'production') {
|
|
1371
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'replace children', update.content.toString());
|
|
1372
|
+
}
|
|
1347
1373
|
break;
|
|
1348
1374
|
case ReactMultiChildUpdateTypes.TEXT_CONTENT:
|
|
1349
1375
|
setTextContent(parentNode, update.content);
|
|
1376
|
+
if ("development" !== 'production') {
|
|
1377
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'replace text', update.content.toString());
|
|
1378
|
+
}
|
|
1350
1379
|
break;
|
|
1351
1380
|
case ReactMultiChildUpdateTypes.REMOVE_NODE:
|
|
1352
1381
|
removeChild(parentNode, update.fromNode);
|
|
1382
|
+
if ("development" !== 'production') {
|
|
1383
|
+
ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex });
|
|
1384
|
+
}
|
|
1353
1385
|
break;
|
|
1354
1386
|
}
|
|
1355
1387
|
}
|
|
@@ -1357,12 +1389,8 @@ var DOMChildrenOperations = {
|
|
|
1357
1389
|
|
|
1358
1390
|
};
|
|
1359
1391
|
|
|
1360
|
-
ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', {
|
|
1361
|
-
replaceDelimitedText: 'replaceDelimitedText'
|
|
1362
|
-
});
|
|
1363
|
-
|
|
1364
1392
|
module.exports = DOMChildrenOperations;
|
|
1365
|
-
},{"12":12,"129":129,"150":150,"151":151,"
|
|
1393
|
+
},{"12":12,"129":129,"150":150,"151":151,"45":45,"76":76,"8":8,"82":82}],8:[function(_dereq_,module,exports){
|
|
1366
1394
|
/**
|
|
1367
1395
|
* Copyright 2015-present, Facebook, Inc.
|
|
1368
1396
|
* All rights reserved.
|
|
@@ -1376,9 +1404,14 @@ module.exports = DOMChildrenOperations;
|
|
|
1376
1404
|
|
|
1377
1405
|
'use strict';
|
|
1378
1406
|
|
|
1407
|
+
var DOMNamespaces = _dereq_(9);
|
|
1408
|
+
|
|
1379
1409
|
var createMicrosoftUnsafeLocalFunction = _dereq_(129);
|
|
1380
1410
|
var setTextContent = _dereq_(151);
|
|
1381
1411
|
|
|
1412
|
+
var ELEMENT_NODE_TYPE = 1;
|
|
1413
|
+
var DOCUMENT_FRAGMENT_NODE_TYPE = 11;
|
|
1414
|
+
|
|
1382
1415
|
/**
|
|
1383
1416
|
* In IE (8-11) and Edge, appending nodes with no children is dramatically
|
|
1384
1417
|
* faster than appending a full subtree, so we essentially queue up the
|
|
@@ -1413,8 +1446,10 @@ var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode,
|
|
|
1413
1446
|
// DocumentFragments aren't actually part of the DOM after insertion so
|
|
1414
1447
|
// appending children won't update the DOM. We need to ensure the fragment
|
|
1415
1448
|
// is properly populated first, breaking out of our lazy approach for just
|
|
1416
|
-
// this level.
|
|
1417
|
-
|
|
1449
|
+
// this level. Also, some <object> plugins (like Flash Player) will read
|
|
1450
|
+
// <param> nodes immediately upon insertion into the DOM, so <object>
|
|
1451
|
+
// must also be populated prior to insertion into the DOM.
|
|
1452
|
+
if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {
|
|
1418
1453
|
insertTreeChildren(tree);
|
|
1419
1454
|
parentNode.insertBefore(tree.node, referenceNode);
|
|
1420
1455
|
} else {
|
|
@@ -1452,12 +1487,17 @@ function queueText(tree, text) {
|
|
|
1452
1487
|
}
|
|
1453
1488
|
}
|
|
1454
1489
|
|
|
1490
|
+
function toString() {
|
|
1491
|
+
return this.node.nodeName;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1455
1494
|
function DOMLazyTree(node) {
|
|
1456
1495
|
return {
|
|
1457
1496
|
node: node,
|
|
1458
1497
|
children: [],
|
|
1459
1498
|
html: null,
|
|
1460
|
-
text: null
|
|
1499
|
+
text: null,
|
|
1500
|
+
toString: toString
|
|
1461
1501
|
};
|
|
1462
1502
|
}
|
|
1463
1503
|
|
|
@@ -1468,7 +1508,7 @@ DOMLazyTree.queueHTML = queueHTML;
|
|
|
1468
1508
|
DOMLazyTree.queueText = queueText;
|
|
1469
1509
|
|
|
1470
1510
|
module.exports = DOMLazyTree;
|
|
1471
|
-
},{"129":129,"151":151}],9:[function(_dereq_,module,exports){
|
|
1511
|
+
},{"129":129,"151":151,"9":9}],9:[function(_dereq_,module,exports){
|
|
1472
1512
|
/**
|
|
1473
1513
|
* Copyright 2013-present, Facebook, Inc.
|
|
1474
1514
|
* All rights reserved.
|
|
@@ -1718,8 +1758,9 @@ module.exports = DOMProperty;
|
|
|
1718
1758
|
'use strict';
|
|
1719
1759
|
|
|
1720
1760
|
var DOMProperty = _dereq_(10);
|
|
1721
|
-
var
|
|
1722
|
-
var
|
|
1761
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
1762
|
+
var ReactDOMInstrumentation = _dereq_(53);
|
|
1763
|
+
var ReactInstrumentation = _dereq_(76);
|
|
1723
1764
|
|
|
1724
1765
|
var quoteAttributeValueForBrowser = _dereq_(148);
|
|
1725
1766
|
var warning = _dereq_(183);
|
|
@@ -1827,9 +1868,6 @@ var DOMPropertyOperations = {
|
|
|
1827
1868
|
* @param {*} value
|
|
1828
1869
|
*/
|
|
1829
1870
|
setValueForProperty: function (node, name, value) {
|
|
1830
|
-
if ("development" !== 'production') {
|
|
1831
|
-
ReactDOMInstrumentation.debugTool.onSetValueForProperty(node, name, value);
|
|
1832
|
-
}
|
|
1833
1871
|
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
|
1834
1872
|
if (propertyInfo) {
|
|
1835
1873
|
var mutationMethod = propertyInfo.mutationMethod;
|
|
@@ -1837,6 +1875,7 @@ var DOMPropertyOperations = {
|
|
|
1837
1875
|
mutationMethod(node, value);
|
|
1838
1876
|
} else if (shouldIgnoreValue(propertyInfo, value)) {
|
|
1839
1877
|
this.deleteValueForProperty(node, name);
|
|
1878
|
+
return;
|
|
1840
1879
|
} else if (propertyInfo.mustUseProperty) {
|
|
1841
1880
|
var propName = propertyInfo.propertyName;
|
|
1842
1881
|
// Must explicitly cast values for HAS_SIDE_EFFECTS-properties to the
|
|
@@ -1861,6 +1900,14 @@ var DOMPropertyOperations = {
|
|
|
1861
1900
|
}
|
|
1862
1901
|
} else if (DOMProperty.isCustomAttribute(name)) {
|
|
1863
1902
|
DOMPropertyOperations.setValueForAttribute(node, name, value);
|
|
1903
|
+
return;
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
if ("development" !== 'production') {
|
|
1907
|
+
ReactDOMInstrumentation.debugTool.onSetValueForProperty(node, name, value);
|
|
1908
|
+
var payload = {};
|
|
1909
|
+
payload[name] = value;
|
|
1910
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);
|
|
1864
1911
|
}
|
|
1865
1912
|
},
|
|
1866
1913
|
|
|
@@ -1873,6 +1920,12 @@ var DOMPropertyOperations = {
|
|
|
1873
1920
|
} else {
|
|
1874
1921
|
node.setAttribute(name, '' + value);
|
|
1875
1922
|
}
|
|
1923
|
+
|
|
1924
|
+
if ("development" !== 'production') {
|
|
1925
|
+
var payload = {};
|
|
1926
|
+
payload[name] = value;
|
|
1927
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'update attribute', payload);
|
|
1928
|
+
}
|
|
1876
1929
|
},
|
|
1877
1930
|
|
|
1878
1931
|
/**
|
|
@@ -1882,9 +1935,6 @@ var DOMPropertyOperations = {
|
|
|
1882
1935
|
* @param {string} name
|
|
1883
1936
|
*/
|
|
1884
1937
|
deleteValueForProperty: function (node, name) {
|
|
1885
|
-
if ("development" !== 'production') {
|
|
1886
|
-
ReactDOMInstrumentation.debugTool.onDeleteValueForProperty(node, name);
|
|
1887
|
-
}
|
|
1888
1938
|
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
|
1889
1939
|
if (propertyInfo) {
|
|
1890
1940
|
var mutationMethod = propertyInfo.mutationMethod;
|
|
@@ -1906,18 +1956,17 @@ var DOMPropertyOperations = {
|
|
|
1906
1956
|
} else if (DOMProperty.isCustomAttribute(name)) {
|
|
1907
1957
|
node.removeAttribute(name);
|
|
1908
1958
|
}
|
|
1959
|
+
|
|
1960
|
+
if ("development" !== 'production') {
|
|
1961
|
+
ReactDOMInstrumentation.debugTool.onDeleteValueForProperty(node, name);
|
|
1962
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(node)._debugID, 'remove attribute', name);
|
|
1963
|
+
}
|
|
1909
1964
|
}
|
|
1910
1965
|
|
|
1911
1966
|
};
|
|
1912
1967
|
|
|
1913
|
-
ReactPerf.measureMethods(DOMPropertyOperations, 'DOMPropertyOperations', {
|
|
1914
|
-
setValueForProperty: 'setValueForProperty',
|
|
1915
|
-
setValueForAttribute: 'setValueForAttribute',
|
|
1916
|
-
deleteValueForProperty: 'deleteValueForProperty'
|
|
1917
|
-
});
|
|
1918
|
-
|
|
1919
1968
|
module.exports = DOMPropertyOperations;
|
|
1920
|
-
},{"10":10,"148":148,"183":183,"
|
|
1969
|
+
},{"10":10,"148":148,"183":183,"45":45,"53":53,"76":76}],12:[function(_dereq_,module,exports){
|
|
1921
1970
|
/**
|
|
1922
1971
|
* Copyright 2013-present, Facebook, Inc.
|
|
1923
1972
|
* All rights reserved.
|
|
@@ -2157,7 +2206,7 @@ module.exports = DisabledInputUtils;
|
|
|
2157
2206
|
|
|
2158
2207
|
var EventConstants = _dereq_(16);
|
|
2159
2208
|
var EventPropagators = _dereq_(20);
|
|
2160
|
-
var ReactDOMComponentTree = _dereq_(
|
|
2209
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
2161
2210
|
var SyntheticMouseEvent = _dereq_(119);
|
|
2162
2211
|
|
|
2163
2212
|
var keyOf = _dereq_(177);
|
|
@@ -2247,7 +2296,7 @@ var EnterLeaveEventPlugin = {
|
|
|
2247
2296
|
};
|
|
2248
2297
|
|
|
2249
2298
|
module.exports = EnterLeaveEventPlugin;
|
|
2250
|
-
},{"119":119,"16":16,"177":177,"20":20,"
|
|
2299
|
+
},{"119":119,"16":16,"177":177,"20":20,"45":45}],16:[function(_dereq_,module,exports){
|
|
2251
2300
|
/**
|
|
2252
2301
|
* Copyright 2013-present, Facebook, Inc.
|
|
2253
2302
|
* All rights reserved.
|
|
@@ -2361,7 +2410,7 @@ module.exports = EventConstants;
|
|
|
2361
2410
|
|
|
2362
2411
|
var EventPluginRegistry = _dereq_(18);
|
|
2363
2412
|
var EventPluginUtils = _dereq_(19);
|
|
2364
|
-
var ReactErrorUtils = _dereq_(
|
|
2413
|
+
var ReactErrorUtils = _dereq_(68);
|
|
2365
2414
|
|
|
2366
2415
|
var accumulateInto = _dereq_(126);
|
|
2367
2416
|
var forEachAccumulated = _dereq_(134);
|
|
@@ -2581,7 +2630,7 @@ var EventPluginHub = {
|
|
|
2581
2630
|
};
|
|
2582
2631
|
|
|
2583
2632
|
module.exports = EventPluginHub;
|
|
2584
|
-
},{"126":126,"134":134,"173":173,"18":18,"19":19,"
|
|
2633
|
+
},{"126":126,"134":134,"173":173,"18":18,"19":19,"68":68}],18:[function(_dereq_,module,exports){
|
|
2585
2634
|
/**
|
|
2586
2635
|
* Copyright 2013-present, Facebook, Inc.
|
|
2587
2636
|
* All rights reserved.
|
|
@@ -2838,7 +2887,7 @@ module.exports = EventPluginRegistry;
|
|
|
2838
2887
|
'use strict';
|
|
2839
2888
|
|
|
2840
2889
|
var EventConstants = _dereq_(16);
|
|
2841
|
-
var ReactErrorUtils = _dereq_(
|
|
2890
|
+
var ReactErrorUtils = _dereq_(68);
|
|
2842
2891
|
|
|
2843
2892
|
var invariant = _dereq_(173);
|
|
2844
2893
|
var warning = _dereq_(183);
|
|
@@ -3051,7 +3100,7 @@ var EventPluginUtils = {
|
|
|
3051
3100
|
};
|
|
3052
3101
|
|
|
3053
3102
|
module.exports = EventPluginUtils;
|
|
3054
|
-
},{"16":16,"173":173,"183":183,"
|
|
3103
|
+
},{"16":16,"173":173,"183":183,"68":68}],20:[function(_dereq_,module,exports){
|
|
3055
3104
|
/**
|
|
3056
3105
|
* Copyright 2013-present, Facebook, Inc.
|
|
3057
3106
|
* All rights reserved.
|
|
@@ -3568,11 +3617,12 @@ module.exports = KeyEscapeUtils;
|
|
|
3568
3617
|
|
|
3569
3618
|
'use strict';
|
|
3570
3619
|
|
|
3571
|
-
var ReactLink = _dereq_(
|
|
3620
|
+
var ReactLink = _dereq_(78);
|
|
3572
3621
|
var ReactStateSetters = _dereq_(98);
|
|
3573
3622
|
|
|
3574
3623
|
/**
|
|
3575
3624
|
* A simple mixin around ReactLink.forState().
|
|
3625
|
+
* See https://facebook.github.io/react/docs/two-way-binding-helpers.html
|
|
3576
3626
|
*/
|
|
3577
3627
|
var LinkedStateMixin = {
|
|
3578
3628
|
/**
|
|
@@ -3590,7 +3640,7 @@ var LinkedStateMixin = {
|
|
|
3590
3640
|
};
|
|
3591
3641
|
|
|
3592
3642
|
module.exports = LinkedStateMixin;
|
|
3593
|
-
},{"
|
|
3643
|
+
},{"78":78,"98":98}],25:[function(_dereq_,module,exports){
|
|
3594
3644
|
/**
|
|
3595
3645
|
* Copyright 2013-present, Facebook, Inc.
|
|
3596
3646
|
* All rights reserved.
|
|
@@ -3863,9 +3913,9 @@ var _assign = _dereq_(184);
|
|
|
3863
3913
|
var ReactChildren = _dereq_(32);
|
|
3864
3914
|
var ReactComponent = _dereq_(34);
|
|
3865
3915
|
var ReactClass = _dereq_(33);
|
|
3866
|
-
var ReactDOMFactories = _dereq_(
|
|
3867
|
-
var ReactElement = _dereq_(
|
|
3868
|
-
var ReactElementValidator = _dereq_(
|
|
3916
|
+
var ReactDOMFactories = _dereq_(49);
|
|
3917
|
+
var ReactElement = _dereq_(65);
|
|
3918
|
+
var ReactElementValidator = _dereq_(66);
|
|
3869
3919
|
var ReactPropTypes = _dereq_(91);
|
|
3870
3920
|
var ReactVersion = _dereq_(105);
|
|
3871
3921
|
|
|
@@ -3932,7 +3982,7 @@ var React = {
|
|
|
3932
3982
|
};
|
|
3933
3983
|
|
|
3934
3984
|
module.exports = React;
|
|
3935
|
-
},{"105":105,"147":147,"183":183,"184":184,"32":32,"33":33,"34":34,"
|
|
3985
|
+
},{"105":105,"147":147,"183":183,"184":184,"32":32,"33":33,"34":34,"49":49,"65":65,"66":66,"91":91}],28:[function(_dereq_,module,exports){
|
|
3936
3986
|
/**
|
|
3937
3987
|
* Copyright 2013-present, Facebook, Inc.
|
|
3938
3988
|
* All rights reserved.
|
|
@@ -3950,7 +4000,7 @@ var _assign = _dereq_(184);
|
|
|
3950
4000
|
|
|
3951
4001
|
var EventConstants = _dereq_(16);
|
|
3952
4002
|
var EventPluginRegistry = _dereq_(18);
|
|
3953
|
-
var ReactEventEmitterMixin = _dereq_(
|
|
4003
|
+
var ReactEventEmitterMixin = _dereq_(69);
|
|
3954
4004
|
var ViewportMetrics = _dereq_(125);
|
|
3955
4005
|
|
|
3956
4006
|
var getVendorPrefixedEventName = _dereq_(143);
|
|
@@ -4250,7 +4300,7 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
|
|
|
4250
4300
|
});
|
|
4251
4301
|
|
|
4252
4302
|
module.exports = ReactBrowserEventEmitter;
|
|
4253
|
-
},{"125":125,"143":143,"145":145,"16":16,"18":18,"184":184,"
|
|
4303
|
+
},{"125":125,"143":143,"145":145,"16":16,"18":18,"184":184,"69":69}],29:[function(_dereq_,module,exports){
|
|
4254
4304
|
/**
|
|
4255
4305
|
* Copyright 2013-present, Facebook, Inc.
|
|
4256
4306
|
* All rights reserved.
|
|
@@ -4290,6 +4340,11 @@ function createTransitionTimeoutPropValidator(transitionType) {
|
|
|
4290
4340
|
};
|
|
4291
4341
|
}
|
|
4292
4342
|
|
|
4343
|
+
/**
|
|
4344
|
+
* An easy way to perform CSS transitions and animations when a React component
|
|
4345
|
+
* enters or leaves the DOM.
|
|
4346
|
+
* See https://facebook.github.io/react/docs/animation.html#high-level-api-reactcsstransitiongroup
|
|
4347
|
+
*/
|
|
4293
4348
|
var ReactCSSTransitionGroup = React.createClass({
|
|
4294
4349
|
displayName: 'ReactCSSTransitionGroup',
|
|
4295
4350
|
|
|
@@ -4348,7 +4403,7 @@ module.exports = ReactCSSTransitionGroup;
|
|
|
4348
4403
|
'use strict';
|
|
4349
4404
|
|
|
4350
4405
|
var React = _dereq_(27);
|
|
4351
|
-
var ReactDOM = _dereq_(
|
|
4406
|
+
var ReactDOM = _dereq_(41);
|
|
4352
4407
|
|
|
4353
4408
|
var CSSCore = _dereq_(157);
|
|
4354
4409
|
var ReactTransitionEvents = _dereq_(101);
|
|
@@ -4494,7 +4549,7 @@ var ReactCSSTransitionGroupChild = React.createClass({
|
|
|
4494
4549
|
});
|
|
4495
4550
|
|
|
4496
4551
|
module.exports = ReactCSSTransitionGroupChild;
|
|
4497
|
-
},{"101":101,"147":147,"157":157,"27":27,"
|
|
4552
|
+
},{"101":101,"147":147,"157":157,"27":27,"41":41}],31:[function(_dereq_,module,exports){
|
|
4498
4553
|
/**
|
|
4499
4554
|
* Copyright 2014-present, Facebook, Inc.
|
|
4500
4555
|
* All rights reserved.
|
|
@@ -4635,7 +4690,7 @@ module.exports = ReactChildReconciler;
|
|
|
4635
4690
|
'use strict';
|
|
4636
4691
|
|
|
4637
4692
|
var PooledClass = _dereq_(26);
|
|
4638
|
-
var ReactElement = _dereq_(
|
|
4693
|
+
var ReactElement = _dereq_(65);
|
|
4639
4694
|
|
|
4640
4695
|
var emptyFunction = _dereq_(165);
|
|
4641
4696
|
var traverseAllChildren = _dereq_(154);
|
|
@@ -4678,6 +4733,8 @@ function forEachSingleChild(bookKeeping, child, name) {
|
|
|
4678
4733
|
/**
|
|
4679
4734
|
* Iterates through children that are typically specified as `props.children`.
|
|
4680
4735
|
*
|
|
4736
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach
|
|
4737
|
+
*
|
|
4681
4738
|
* The provided forEachFunc(child, index) will be called for each
|
|
4682
4739
|
* leaf child.
|
|
4683
4740
|
*
|
|
@@ -4753,7 +4810,9 @@ function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
|
|
|
4753
4810
|
/**
|
|
4754
4811
|
* Maps children that are typically specified as `props.children`.
|
|
4755
4812
|
*
|
|
4756
|
-
*
|
|
4813
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.map
|
|
4814
|
+
*
|
|
4815
|
+
* The provided mapFunction(child, key, index) will be called for each
|
|
4757
4816
|
* leaf child.
|
|
4758
4817
|
*
|
|
4759
4818
|
* @param {?*} children Children tree container.
|
|
@@ -4778,6 +4837,8 @@ function forEachSingleChildDummy(traverseContext, child, name) {
|
|
|
4778
4837
|
* Count the number of children that are typically specified as
|
|
4779
4838
|
* `props.children`.
|
|
4780
4839
|
*
|
|
4840
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.count
|
|
4841
|
+
*
|
|
4781
4842
|
* @param {?*} children Children tree container.
|
|
4782
4843
|
* @return {number} The number of children.
|
|
4783
4844
|
*/
|
|
@@ -4788,6 +4849,8 @@ function countChildren(children, context) {
|
|
|
4788
4849
|
/**
|
|
4789
4850
|
* Flatten a children object (typically specified as `props.children`) and
|
|
4790
4851
|
* return an array with appropriately re-keyed children.
|
|
4852
|
+
*
|
|
4853
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray
|
|
4791
4854
|
*/
|
|
4792
4855
|
function toArray(children) {
|
|
4793
4856
|
var result = [];
|
|
@@ -4804,7 +4867,7 @@ var ReactChildren = {
|
|
|
4804
4867
|
};
|
|
4805
4868
|
|
|
4806
4869
|
module.exports = ReactChildren;
|
|
4807
|
-
},{"154":154,"165":165,"26":26,"
|
|
4870
|
+
},{"154":154,"165":165,"26":26,"65":65}],33:[function(_dereq_,module,exports){
|
|
4808
4871
|
/**
|
|
4809
4872
|
* Copyright 2013-present, Facebook, Inc.
|
|
4810
4873
|
* All rights reserved.
|
|
@@ -4821,7 +4884,7 @@ module.exports = ReactChildren;
|
|
|
4821
4884
|
var _assign = _dereq_(184);
|
|
4822
4885
|
|
|
4823
4886
|
var ReactComponent = _dereq_(34);
|
|
4824
|
-
var ReactElement = _dereq_(
|
|
4887
|
+
var ReactElement = _dereq_(65);
|
|
4825
4888
|
var ReactPropTypeLocations = _dereq_(90);
|
|
4826
4889
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
4827
4890
|
var ReactNoopUpdateQueue = _dereq_(86);
|
|
@@ -5434,6 +5497,7 @@ var ReactClass = {
|
|
|
5434
5497
|
|
|
5435
5498
|
/**
|
|
5436
5499
|
* Creates a composite component class given a class specification.
|
|
5500
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
|
|
5437
5501
|
*
|
|
5438
5502
|
* @param {object} spec Class specification (which must define `render`).
|
|
5439
5503
|
* @return {function} Component constructor function.
|
|
@@ -5528,7 +5592,7 @@ var ReactClass = {
|
|
|
5528
5592
|
};
|
|
5529
5593
|
|
|
5530
5594
|
module.exports = ReactClass;
|
|
5531
|
-
},{"166":166,"173":173,"176":176,"177":177,"183":183,"184":184,"34":34,"
|
|
5595
|
+
},{"166":166,"173":173,"176":176,"177":177,"183":183,"184":184,"34":34,"65":65,"86":86,"89":89,"90":90}],34:[function(_dereq_,module,exports){
|
|
5532
5596
|
/**
|
|
5533
5597
|
* Copyright 2013-present, Facebook, Inc.
|
|
5534
5598
|
* All rights reserved.
|
|
@@ -5543,7 +5607,7 @@ module.exports = ReactClass;
|
|
|
5543
5607
|
'use strict';
|
|
5544
5608
|
|
|
5545
5609
|
var ReactNoopUpdateQueue = _dereq_(86);
|
|
5546
|
-
var ReactInstrumentation = _dereq_(
|
|
5610
|
+
var ReactInstrumentation = _dereq_(76);
|
|
5547
5611
|
|
|
5548
5612
|
var canDefineProperty = _dereq_(128);
|
|
5549
5613
|
var emptyObject = _dereq_(166);
|
|
@@ -5650,7 +5714,7 @@ if ("development" !== 'production') {
|
|
|
5650
5714
|
}
|
|
5651
5715
|
|
|
5652
5716
|
module.exports = ReactComponent;
|
|
5653
|
-
},{"128":128,"166":166,"173":173,"183":183,"
|
|
5717
|
+
},{"128":128,"166":166,"173":173,"183":183,"76":76,"86":86}],35:[function(_dereq_,module,exports){
|
|
5654
5718
|
/**
|
|
5655
5719
|
* Copyright 2013-present, Facebook, Inc.
|
|
5656
5720
|
* All rights reserved.
|
|
@@ -5665,8 +5729,7 @@ module.exports = ReactComponent;
|
|
|
5665
5729
|
'use strict';
|
|
5666
5730
|
|
|
5667
5731
|
var DOMChildrenOperations = _dereq_(7);
|
|
5668
|
-
var ReactDOMIDOperations = _dereq_(
|
|
5669
|
-
var ReactPerf = _dereq_(88);
|
|
5732
|
+
var ReactDOMIDOperations = _dereq_(51);
|
|
5670
5733
|
|
|
5671
5734
|
/**
|
|
5672
5735
|
* Abstracts away all functionality of the reconciler that requires knowledge of
|
|
@@ -5690,12 +5753,8 @@ var ReactComponentBrowserEnvironment = {
|
|
|
5690
5753
|
|
|
5691
5754
|
};
|
|
5692
5755
|
|
|
5693
|
-
ReactPerf.measureMethods(ReactComponentBrowserEnvironment, 'ReactComponentBrowserEnvironment', {
|
|
5694
|
-
replaceNodeWithMarkup: 'replaceNodeWithMarkup'
|
|
5695
|
-
});
|
|
5696
|
-
|
|
5697
5756
|
module.exports = ReactComponentBrowserEnvironment;
|
|
5698
|
-
},{"
|
|
5757
|
+
},{"51":51,"7":7}],36:[function(_dereq_,module,exports){
|
|
5699
5758
|
/**
|
|
5700
5759
|
* Copyright 2014-present, Facebook, Inc.
|
|
5701
5760
|
* All rights reserved.
|
|
@@ -5748,6 +5807,147 @@ var ReactComponentEnvironment = {
|
|
|
5748
5807
|
|
|
5749
5808
|
module.exports = ReactComponentEnvironment;
|
|
5750
5809
|
},{"173":173}],37:[function(_dereq_,module,exports){
|
|
5810
|
+
/**
|
|
5811
|
+
* Copyright 2016-present, Facebook, Inc.
|
|
5812
|
+
* All rights reserved.
|
|
5813
|
+
*
|
|
5814
|
+
* This source code is licensed under the BSD-style license found in the
|
|
5815
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
|
5816
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
|
5817
|
+
*
|
|
5818
|
+
* @providesModule ReactComponentTreeDevtool
|
|
5819
|
+
*/
|
|
5820
|
+
|
|
5821
|
+
'use strict';
|
|
5822
|
+
|
|
5823
|
+
var invariant = _dereq_(173);
|
|
5824
|
+
|
|
5825
|
+
var tree = {};
|
|
5826
|
+
var rootIDs = [];
|
|
5827
|
+
|
|
5828
|
+
function updateTree(id, update) {
|
|
5829
|
+
if (!tree[id]) {
|
|
5830
|
+
tree[id] = {
|
|
5831
|
+
parentID: null,
|
|
5832
|
+
ownerID: null,
|
|
5833
|
+
text: null,
|
|
5834
|
+
childIDs: [],
|
|
5835
|
+
displayName: 'Unknown',
|
|
5836
|
+
isMounted: false,
|
|
5837
|
+
updateCount: 0
|
|
5838
|
+
};
|
|
5839
|
+
}
|
|
5840
|
+
update(tree[id]);
|
|
5841
|
+
}
|
|
5842
|
+
|
|
5843
|
+
function purgeDeep(id) {
|
|
5844
|
+
var item = tree[id];
|
|
5845
|
+
if (item) {
|
|
5846
|
+
var childIDs = item.childIDs;
|
|
5847
|
+
|
|
5848
|
+
delete tree[id];
|
|
5849
|
+
childIDs.forEach(purgeDeep);
|
|
5850
|
+
}
|
|
5851
|
+
}
|
|
5852
|
+
|
|
5853
|
+
var ReactComponentTreeDevtool = {
|
|
5854
|
+
onSetDisplayName: function (id, displayName) {
|
|
5855
|
+
updateTree(id, function (item) {
|
|
5856
|
+
return item.displayName = displayName;
|
|
5857
|
+
});
|
|
5858
|
+
},
|
|
5859
|
+
onSetChildren: function (id, nextChildIDs) {
|
|
5860
|
+
updateTree(id, function (item) {
|
|
5861
|
+
var prevChildIDs = item.childIDs;
|
|
5862
|
+
item.childIDs = nextChildIDs;
|
|
5863
|
+
|
|
5864
|
+
nextChildIDs.forEach(function (nextChildID) {
|
|
5865
|
+
var nextChild = tree[nextChildID];
|
|
5866
|
+
!nextChild ? "development" !== 'production' ? invariant(false, 'Expected devtool events to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5867
|
+
!(nextChild.displayName != null) ? "development" !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5868
|
+
!(nextChild.childIDs != null || nextChild.text != null) ? "development" !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5869
|
+
!nextChild.isMounted ? "development" !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
|
|
5870
|
+
|
|
5871
|
+
if (prevChildIDs.indexOf(nextChildID) === -1) {
|
|
5872
|
+
nextChild.parentID = id;
|
|
5873
|
+
}
|
|
5874
|
+
});
|
|
5875
|
+
});
|
|
5876
|
+
},
|
|
5877
|
+
onSetOwner: function (id, ownerID) {
|
|
5878
|
+
updateTree(id, function (item) {
|
|
5879
|
+
return item.ownerID = ownerID;
|
|
5880
|
+
});
|
|
5881
|
+
},
|
|
5882
|
+
onSetText: function (id, text) {
|
|
5883
|
+
updateTree(id, function (item) {
|
|
5884
|
+
return item.text = text;
|
|
5885
|
+
});
|
|
5886
|
+
},
|
|
5887
|
+
onMountComponent: function (id) {
|
|
5888
|
+
updateTree(id, function (item) {
|
|
5889
|
+
return item.isMounted = true;
|
|
5890
|
+
});
|
|
5891
|
+
},
|
|
5892
|
+
onMountRootComponent: function (id) {
|
|
5893
|
+
rootIDs.push(id);
|
|
5894
|
+
},
|
|
5895
|
+
onUpdateComponent: function (id) {
|
|
5896
|
+
updateTree(id, function (item) {
|
|
5897
|
+
return item.updateCount++;
|
|
5898
|
+
});
|
|
5899
|
+
},
|
|
5900
|
+
onUnmountComponent: function (id) {
|
|
5901
|
+
updateTree(id, function (item) {
|
|
5902
|
+
return item.isMounted = false;
|
|
5903
|
+
});
|
|
5904
|
+
rootIDs = rootIDs.filter(function (rootID) {
|
|
5905
|
+
return rootID !== id;
|
|
5906
|
+
});
|
|
5907
|
+
},
|
|
5908
|
+
purgeUnmountedComponents: function () {
|
|
5909
|
+
Object.keys(tree).filter(function (id) {
|
|
5910
|
+
return !tree[id].isMounted;
|
|
5911
|
+
}).forEach(purgeDeep);
|
|
5912
|
+
},
|
|
5913
|
+
isMounted: function (id) {
|
|
5914
|
+
var item = tree[id];
|
|
5915
|
+
return item ? item.isMounted : false;
|
|
5916
|
+
},
|
|
5917
|
+
getChildIDs: function (id) {
|
|
5918
|
+
var item = tree[id];
|
|
5919
|
+
return item ? item.childIDs : [];
|
|
5920
|
+
},
|
|
5921
|
+
getDisplayName: function (id) {
|
|
5922
|
+
var item = tree[id];
|
|
5923
|
+
return item ? item.displayName : 'Unknown';
|
|
5924
|
+
},
|
|
5925
|
+
getOwnerID: function (id) {
|
|
5926
|
+
var item = tree[id];
|
|
5927
|
+
return item ? item.ownerID : null;
|
|
5928
|
+
},
|
|
5929
|
+
getParentID: function (id) {
|
|
5930
|
+
var item = tree[id];
|
|
5931
|
+
return item ? item.parentID : null;
|
|
5932
|
+
},
|
|
5933
|
+
getText: function (id) {
|
|
5934
|
+
var item = tree[id];
|
|
5935
|
+
return item ? item.text : null;
|
|
5936
|
+
},
|
|
5937
|
+
getUpdateCount: function (id) {
|
|
5938
|
+
var item = tree[id];
|
|
5939
|
+
return item ? item.updateCount : 0;
|
|
5940
|
+
},
|
|
5941
|
+
getRootIDs: function () {
|
|
5942
|
+
return rootIDs;
|
|
5943
|
+
},
|
|
5944
|
+
getRegisteredIDs: function () {
|
|
5945
|
+
return Object.keys(tree);
|
|
5946
|
+
}
|
|
5947
|
+
};
|
|
5948
|
+
|
|
5949
|
+
module.exports = ReactComponentTreeDevtool;
|
|
5950
|
+
},{"173":173}],38:[function(_dereq_,module,exports){
|
|
5751
5951
|
/**
|
|
5752
5952
|
* Copyright 2013-present, Facebook, Inc.
|
|
5753
5953
|
* All rights reserved.
|
|
@@ -5786,6 +5986,8 @@ var shallowCompare = _dereq_(152);
|
|
|
5786
5986
|
* complex data structures this mixin may have false-negatives for deeper
|
|
5787
5987
|
* differences. Only mixin to components which have simple props and state, or
|
|
5788
5988
|
* use `forceUpdate()` when you know deep data structures have changed.
|
|
5989
|
+
*
|
|
5990
|
+
* See https://facebook.github.io/react/docs/pure-render-mixin.html
|
|
5789
5991
|
*/
|
|
5790
5992
|
var ReactComponentWithPureRenderMixin = {
|
|
5791
5993
|
shouldComponentUpdate: function (nextProps, nextState) {
|
|
@@ -5794,7 +5996,7 @@ var ReactComponentWithPureRenderMixin = {
|
|
|
5794
5996
|
};
|
|
5795
5997
|
|
|
5796
5998
|
module.exports = ReactComponentWithPureRenderMixin;
|
|
5797
|
-
},{"152":152}],
|
|
5999
|
+
},{"152":152}],39:[function(_dereq_,module,exports){
|
|
5798
6000
|
/**
|
|
5799
6001
|
* Copyright 2013-present, Facebook, Inc.
|
|
5800
6002
|
* All rights reserved.
|
|
@@ -5811,13 +6013,12 @@ module.exports = ReactComponentWithPureRenderMixin;
|
|
|
5811
6013
|
var _assign = _dereq_(184);
|
|
5812
6014
|
|
|
5813
6015
|
var ReactComponentEnvironment = _dereq_(36);
|
|
5814
|
-
var ReactCurrentOwner = _dereq_(
|
|
5815
|
-
var ReactElement = _dereq_(
|
|
5816
|
-
var ReactErrorUtils = _dereq_(
|
|
5817
|
-
var ReactInstanceMap = _dereq_(
|
|
5818
|
-
var ReactInstrumentation = _dereq_(
|
|
6016
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
6017
|
+
var ReactElement = _dereq_(65);
|
|
6018
|
+
var ReactErrorUtils = _dereq_(68);
|
|
6019
|
+
var ReactInstanceMap = _dereq_(75);
|
|
6020
|
+
var ReactInstrumentation = _dereq_(76);
|
|
5819
6021
|
var ReactNodeTypes = _dereq_(85);
|
|
5820
|
-
var ReactPerf = _dereq_(88);
|
|
5821
6022
|
var ReactPropTypeLocations = _dereq_(90);
|
|
5822
6023
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
5823
6024
|
var ReactReconciler = _dereq_(93);
|
|
@@ -5853,6 +6054,28 @@ function warnIfInvalidElement(Component, element) {
|
|
|
5853
6054
|
}
|
|
5854
6055
|
}
|
|
5855
6056
|
|
|
6057
|
+
function invokeComponentDidMountWithTimer() {
|
|
6058
|
+
var publicInstance = this._instance;
|
|
6059
|
+
if (this._debugID !== 0) {
|
|
6060
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentDidMount');
|
|
6061
|
+
}
|
|
6062
|
+
publicInstance.componentDidMount();
|
|
6063
|
+
if (this._debugID !== 0) {
|
|
6064
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentDidMount');
|
|
6065
|
+
}
|
|
6066
|
+
}
|
|
6067
|
+
|
|
6068
|
+
function invokeComponentDidUpdateWithTimer(prevProps, prevState, prevContext) {
|
|
6069
|
+
var publicInstance = this._instance;
|
|
6070
|
+
if (this._debugID !== 0) {
|
|
6071
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentDidUpdate');
|
|
6072
|
+
}
|
|
6073
|
+
publicInstance.componentDidUpdate(prevProps, prevState, prevContext);
|
|
6074
|
+
if (this._debugID !== 0) {
|
|
6075
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentDidUpdate');
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6078
|
+
|
|
5856
6079
|
function shouldConstruct(Component) {
|
|
5857
6080
|
return Component.prototype && Component.prototype.isReactComponent;
|
|
5858
6081
|
}
|
|
@@ -5912,6 +6135,7 @@ var ReactCompositeComponentMixin = {
|
|
|
5912
6135
|
this._nativeContainerInfo = null;
|
|
5913
6136
|
|
|
5914
6137
|
// See ReactUpdateQueue
|
|
6138
|
+
this._updateBatchNumber = null;
|
|
5915
6139
|
this._pendingElement = null;
|
|
5916
6140
|
this._pendingStateQueue = null;
|
|
5917
6141
|
this._pendingReplaceState = false;
|
|
@@ -6020,7 +6244,11 @@ var ReactCompositeComponentMixin = {
|
|
|
6020
6244
|
}
|
|
6021
6245
|
|
|
6022
6246
|
if (inst.componentDidMount) {
|
|
6023
|
-
|
|
6247
|
+
if ("development" !== 'production') {
|
|
6248
|
+
transaction.getReactMountReady().enqueue(invokeComponentDidMountWithTimer, this);
|
|
6249
|
+
} else {
|
|
6250
|
+
transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);
|
|
6251
|
+
}
|
|
6024
6252
|
}
|
|
6025
6253
|
|
|
6026
6254
|
return markup;
|
|
@@ -6041,11 +6269,35 @@ var ReactCompositeComponentMixin = {
|
|
|
6041
6269
|
|
|
6042
6270
|
_constructComponentWithoutOwner: function (publicProps, publicContext) {
|
|
6043
6271
|
var Component = this._currentElement.type;
|
|
6272
|
+
var instanceOrElement;
|
|
6044
6273
|
if (shouldConstruct(Component)) {
|
|
6045
|
-
|
|
6274
|
+
if ("development" !== 'production') {
|
|
6275
|
+
if (this._debugID !== 0) {
|
|
6276
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'ctor');
|
|
6277
|
+
}
|
|
6278
|
+
}
|
|
6279
|
+
instanceOrElement = new Component(publicProps, publicContext, ReactUpdateQueue);
|
|
6280
|
+
if ("development" !== 'production') {
|
|
6281
|
+
if (this._debugID !== 0) {
|
|
6282
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'ctor');
|
|
6283
|
+
}
|
|
6284
|
+
}
|
|
6046
6285
|
} else {
|
|
6047
|
-
|
|
6286
|
+
// This can still be an instance in case of factory components
|
|
6287
|
+
// but we'll count this as time spent rendering as the more common case.
|
|
6288
|
+
if ("development" !== 'production') {
|
|
6289
|
+
if (this._debugID !== 0) {
|
|
6290
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'render');
|
|
6291
|
+
}
|
|
6292
|
+
}
|
|
6293
|
+
instanceOrElement = Component(publicProps, publicContext, ReactUpdateQueue);
|
|
6294
|
+
if ("development" !== 'production') {
|
|
6295
|
+
if (this._debugID !== 0) {
|
|
6296
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'render');
|
|
6297
|
+
}
|
|
6298
|
+
}
|
|
6048
6299
|
}
|
|
6300
|
+
return instanceOrElement;
|
|
6049
6301
|
},
|
|
6050
6302
|
|
|
6051
6303
|
performInitialMountWithErrorHandling: function (renderedElement, nativeParent, nativeContainerInfo, transaction, context) {
|
|
@@ -6075,7 +6327,17 @@ var ReactCompositeComponentMixin = {
|
|
|
6075
6327
|
performInitialMount: function (renderedElement, nativeParent, nativeContainerInfo, transaction, context) {
|
|
6076
6328
|
var inst = this._instance;
|
|
6077
6329
|
if (inst.componentWillMount) {
|
|
6330
|
+
if ("development" !== 'production') {
|
|
6331
|
+
if (this._debugID !== 0) {
|
|
6332
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillMount');
|
|
6333
|
+
}
|
|
6334
|
+
}
|
|
6078
6335
|
inst.componentWillMount();
|
|
6336
|
+
if ("development" !== 'production') {
|
|
6337
|
+
if (this._debugID !== 0) {
|
|
6338
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillMount');
|
|
6339
|
+
}
|
|
6340
|
+
}
|
|
6079
6341
|
// When mounting, calls to `setState` by `componentWillMount` will set
|
|
6080
6342
|
// `this._pendingStateQueue` without triggering a re-render.
|
|
6081
6343
|
if (this._pendingStateQueue) {
|
|
@@ -6093,6 +6355,12 @@ var ReactCompositeComponentMixin = {
|
|
|
6093
6355
|
|
|
6094
6356
|
var markup = ReactReconciler.mountComponent(this._renderedComponent, transaction, nativeParent, nativeContainerInfo, this._processChildContext(context));
|
|
6095
6357
|
|
|
6358
|
+
if ("development" !== 'production') {
|
|
6359
|
+
if (this._debugID !== 0) {
|
|
6360
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, this._renderedComponent._debugID !== 0 ? [this._renderedComponent._debugID] : []);
|
|
6361
|
+
}
|
|
6362
|
+
}
|
|
6363
|
+
|
|
6096
6364
|
return markup;
|
|
6097
6365
|
},
|
|
6098
6366
|
|
|
@@ -6114,12 +6382,22 @@ var ReactCompositeComponentMixin = {
|
|
|
6114
6382
|
|
|
6115
6383
|
if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {
|
|
6116
6384
|
inst._calledComponentWillUnmount = true;
|
|
6385
|
+
if ("development" !== 'production') {
|
|
6386
|
+
if (this._debugID !== 0) {
|
|
6387
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUnmount');
|
|
6388
|
+
}
|
|
6389
|
+
}
|
|
6117
6390
|
if (safely) {
|
|
6118
6391
|
var name = this.getName() + '.componentWillUnmount()';
|
|
6119
6392
|
ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));
|
|
6120
6393
|
} else {
|
|
6121
6394
|
inst.componentWillUnmount();
|
|
6122
6395
|
}
|
|
6396
|
+
if ("development" !== 'production') {
|
|
6397
|
+
if (this._debugID !== 0) {
|
|
6398
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUnmount');
|
|
6399
|
+
}
|
|
6400
|
+
}
|
|
6123
6401
|
}
|
|
6124
6402
|
|
|
6125
6403
|
if (this._renderedComponent) {
|
|
@@ -6302,10 +6580,10 @@ var ReactCompositeComponentMixin = {
|
|
|
6302
6580
|
performUpdateIfNecessary: function (transaction) {
|
|
6303
6581
|
if (this._pendingElement != null) {
|
|
6304
6582
|
ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);
|
|
6305
|
-
}
|
|
6306
|
-
|
|
6307
|
-
if (this._pendingStateQueue !== null || this._pendingForceUpdate) {
|
|
6583
|
+
} else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {
|
|
6308
6584
|
this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);
|
|
6585
|
+
} else {
|
|
6586
|
+
this._updateBatchNumber = null;
|
|
6309
6587
|
}
|
|
6310
6588
|
},
|
|
6311
6589
|
|
|
@@ -6352,17 +6630,41 @@ var ReactCompositeComponentMixin = {
|
|
|
6352
6630
|
// _pendingStateQueue which will ensure that any state updates gets
|
|
6353
6631
|
// immediately reconciled instead of waiting for the next batch.
|
|
6354
6632
|
if (willReceive && inst.componentWillReceiveProps) {
|
|
6633
|
+
if ("development" !== 'production') {
|
|
6634
|
+
if (this._debugID !== 0) {
|
|
6635
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillReceiveProps');
|
|
6636
|
+
}
|
|
6637
|
+
}
|
|
6355
6638
|
inst.componentWillReceiveProps(nextProps, nextContext);
|
|
6639
|
+
if ("development" !== 'production') {
|
|
6640
|
+
if (this._debugID !== 0) {
|
|
6641
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillReceiveProps');
|
|
6642
|
+
}
|
|
6643
|
+
}
|
|
6356
6644
|
}
|
|
6357
6645
|
|
|
6358
6646
|
var nextState = this._processPendingState(nextProps, nextContext);
|
|
6647
|
+
var shouldUpdate = true;
|
|
6359
6648
|
|
|
6360
|
-
|
|
6649
|
+
if (!this._pendingForceUpdate && inst.shouldComponentUpdate) {
|
|
6650
|
+
if ("development" !== 'production') {
|
|
6651
|
+
if (this._debugID !== 0) {
|
|
6652
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'shouldComponentUpdate');
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);
|
|
6656
|
+
if ("development" !== 'production') {
|
|
6657
|
+
if (this._debugID !== 0) {
|
|
6658
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'shouldComponentUpdate');
|
|
6659
|
+
}
|
|
6660
|
+
}
|
|
6661
|
+
}
|
|
6361
6662
|
|
|
6362
6663
|
if ("development" !== 'production') {
|
|
6363
6664
|
"development" !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;
|
|
6364
6665
|
}
|
|
6365
6666
|
|
|
6667
|
+
this._updateBatchNumber = null;
|
|
6366
6668
|
if (shouldUpdate) {
|
|
6367
6669
|
this._pendingForceUpdate = false;
|
|
6368
6670
|
// Will set `this.props`, `this.state` and `this.context`.
|
|
@@ -6428,7 +6730,17 @@ var ReactCompositeComponentMixin = {
|
|
|
6428
6730
|
}
|
|
6429
6731
|
|
|
6430
6732
|
if (inst.componentWillUpdate) {
|
|
6733
|
+
if ("development" !== 'production') {
|
|
6734
|
+
if (this._debugID !== 0) {
|
|
6735
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUpdate');
|
|
6736
|
+
}
|
|
6737
|
+
}
|
|
6431
6738
|
inst.componentWillUpdate(nextProps, nextState, nextContext);
|
|
6739
|
+
if ("development" !== 'production') {
|
|
6740
|
+
if (this._debugID !== 0) {
|
|
6741
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUpdate');
|
|
6742
|
+
}
|
|
6743
|
+
}
|
|
6432
6744
|
}
|
|
6433
6745
|
|
|
6434
6746
|
this._currentElement = nextElement;
|
|
@@ -6440,7 +6752,11 @@ var ReactCompositeComponentMixin = {
|
|
|
6440
6752
|
this._updateRenderedComponent(transaction, unmaskedContext);
|
|
6441
6753
|
|
|
6442
6754
|
if (hasComponentDidUpdate) {
|
|
6443
|
-
|
|
6755
|
+
if ("development" !== 'production') {
|
|
6756
|
+
transaction.getReactMountReady().enqueue(invokeComponentDidUpdateWithTimer.bind(this, prevProps, prevState, prevContext), this);
|
|
6757
|
+
} else {
|
|
6758
|
+
transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);
|
|
6759
|
+
}
|
|
6444
6760
|
}
|
|
6445
6761
|
},
|
|
6446
6762
|
|
|
@@ -6462,8 +6778,16 @@ var ReactCompositeComponentMixin = {
|
|
|
6462
6778
|
|
|
6463
6779
|
this._renderedNodeType = ReactNodeTypes.getType(nextRenderedElement);
|
|
6464
6780
|
this._renderedComponent = this._instantiateReactComponent(nextRenderedElement);
|
|
6781
|
+
|
|
6465
6782
|
var nextMarkup = ReactReconciler.mountComponent(this._renderedComponent, transaction, this._nativeParent, this._nativeContainerInfo, this._processChildContext(context));
|
|
6466
|
-
|
|
6783
|
+
|
|
6784
|
+
if ("development" !== 'production') {
|
|
6785
|
+
if (this._debugID !== 0) {
|
|
6786
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, this._renderedComponent._debugID !== 0 ? [this._renderedComponent._debugID] : []);
|
|
6787
|
+
}
|
|
6788
|
+
}
|
|
6789
|
+
|
|
6790
|
+
this._replaceNodeWithMarkup(oldNativeNode, nextMarkup, prevComponentInstance);
|
|
6467
6791
|
}
|
|
6468
6792
|
},
|
|
6469
6793
|
|
|
@@ -6472,8 +6796,8 @@ var ReactCompositeComponentMixin = {
|
|
|
6472
6796
|
*
|
|
6473
6797
|
* @protected
|
|
6474
6798
|
*/
|
|
6475
|
-
_replaceNodeWithMarkup: function (oldNativeNode, nextMarkup) {
|
|
6476
|
-
ReactComponentEnvironment.replaceNodeWithMarkup(oldNativeNode, nextMarkup);
|
|
6799
|
+
_replaceNodeWithMarkup: function (oldNativeNode, nextMarkup, prevInstance) {
|
|
6800
|
+
ReactComponentEnvironment.replaceNodeWithMarkup(oldNativeNode, nextMarkup, prevInstance);
|
|
6477
6801
|
},
|
|
6478
6802
|
|
|
6479
6803
|
/**
|
|
@@ -6481,7 +6805,19 @@ var ReactCompositeComponentMixin = {
|
|
|
6481
6805
|
*/
|
|
6482
6806
|
_renderValidatedComponentWithoutOwnerOrContext: function () {
|
|
6483
6807
|
var inst = this._instance;
|
|
6808
|
+
|
|
6809
|
+
if ("development" !== 'production') {
|
|
6810
|
+
if (this._debugID !== 0) {
|
|
6811
|
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'render');
|
|
6812
|
+
}
|
|
6813
|
+
}
|
|
6484
6814
|
var renderedComponent = inst.render();
|
|
6815
|
+
if ("development" !== 'production') {
|
|
6816
|
+
if (this._debugID !== 0) {
|
|
6817
|
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'render');
|
|
6818
|
+
}
|
|
6819
|
+
}
|
|
6820
|
+
|
|
6485
6821
|
if ("development" !== 'production') {
|
|
6486
6822
|
// We allow auto-mocks to proceed as if they're returning null.
|
|
6487
6823
|
if (renderedComponent === undefined && inst.render._isMockFunction) {
|
|
@@ -6508,6 +6844,7 @@ var ReactCompositeComponentMixin = {
|
|
|
6508
6844
|
!(
|
|
6509
6845
|
// TODO: An `isValidNode` function would probably be more appropriate
|
|
6510
6846
|
renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)) ? "development" !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(false) : void 0;
|
|
6847
|
+
|
|
6511
6848
|
return renderedComponent;
|
|
6512
6849
|
},
|
|
6513
6850
|
|
|
@@ -6576,12 +6913,6 @@ var ReactCompositeComponentMixin = {
|
|
|
6576
6913
|
|
|
6577
6914
|
};
|
|
6578
6915
|
|
|
6579
|
-
ReactPerf.measureMethods(ReactCompositeComponentMixin, 'ReactCompositeComponent', {
|
|
6580
|
-
mountComponent: 'mountComponent',
|
|
6581
|
-
updateComponent: 'updateComponent',
|
|
6582
|
-
_renderValidatedComponent: '_renderValidatedComponent'
|
|
6583
|
-
});
|
|
6584
|
-
|
|
6585
6916
|
var ReactCompositeComponent = {
|
|
6586
6917
|
|
|
6587
6918
|
Mixin: ReactCompositeComponentMixin
|
|
@@ -6589,7 +6920,7 @@ var ReactCompositeComponent = {
|
|
|
6589
6920
|
};
|
|
6590
6921
|
|
|
6591
6922
|
module.exports = ReactCompositeComponent;
|
|
6592
|
-
},{"103":103,"153":153,"166":166,"173":173,"183":183,"184":184,"36":36,"
|
|
6923
|
+
},{"103":103,"153":153,"166":166,"173":173,"183":183,"184":184,"36":36,"40":40,"65":65,"68":68,"75":75,"76":76,"85":85,"89":89,"90":90,"93":93}],40:[function(_dereq_,module,exports){
|
|
6593
6924
|
/**
|
|
6594
6925
|
* Copyright 2013-present, Facebook, Inc.
|
|
6595
6926
|
* All rights reserved.
|
|
@@ -6621,7 +6952,7 @@ var ReactCurrentOwner = {
|
|
|
6621
6952
|
};
|
|
6622
6953
|
|
|
6623
6954
|
module.exports = ReactCurrentOwner;
|
|
6624
|
-
},{}],
|
|
6955
|
+
},{}],41:[function(_dereq_,module,exports){
|
|
6625
6956
|
/**
|
|
6626
6957
|
* Copyright 2013-present, Facebook, Inc.
|
|
6627
6958
|
* All rights reserved.
|
|
@@ -6637,10 +6968,9 @@ module.exports = ReactCurrentOwner;
|
|
|
6637
6968
|
|
|
6638
6969
|
'use strict';
|
|
6639
6970
|
|
|
6640
|
-
var ReactDOMComponentTree = _dereq_(
|
|
6641
|
-
var ReactDefaultInjection = _dereq_(
|
|
6642
|
-
var ReactMount = _dereq_(
|
|
6643
|
-
var ReactPerf = _dereq_(88);
|
|
6971
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
6972
|
+
var ReactDefaultInjection = _dereq_(64);
|
|
6973
|
+
var ReactMount = _dereq_(80);
|
|
6644
6974
|
var ReactReconciler = _dereq_(93);
|
|
6645
6975
|
var ReactUpdates = _dereq_(104);
|
|
6646
6976
|
var ReactVersion = _dereq_(105);
|
|
@@ -6652,11 +6982,9 @@ var warning = _dereq_(183);
|
|
|
6652
6982
|
|
|
6653
6983
|
ReactDefaultInjection.inject();
|
|
6654
6984
|
|
|
6655
|
-
var render = ReactPerf.measure('React', 'render', ReactMount.render);
|
|
6656
|
-
|
|
6657
6985
|
var React = {
|
|
6658
6986
|
findDOMNode: findDOMNode,
|
|
6659
|
-
render: render,
|
|
6987
|
+
render: ReactMount.render,
|
|
6660
6988
|
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
|
|
6661
6989
|
version: ReactVersion,
|
|
6662
6990
|
|
|
@@ -6726,7 +7054,7 @@ if ("development" !== 'production') {
|
|
|
6726
7054
|
}
|
|
6727
7055
|
|
|
6728
7056
|
module.exports = React;
|
|
6729
|
-
},{"104":104,"105":105,"132":132,"140":140,"149":149,"159":159,"183":183,"
|
|
7057
|
+
},{"104":104,"105":105,"132":132,"140":140,"149":149,"159":159,"183":183,"45":45,"64":64,"80":80,"93":93}],42:[function(_dereq_,module,exports){
|
|
6730
7058
|
/**
|
|
6731
7059
|
* Copyright 2013-present, Facebook, Inc.
|
|
6732
7060
|
* All rights reserved.
|
|
@@ -6751,7 +7079,7 @@ var ReactDOMButton = {
|
|
|
6751
7079
|
};
|
|
6752
7080
|
|
|
6753
7081
|
module.exports = ReactDOMButton;
|
|
6754
|
-
},{"14":14}],
|
|
7082
|
+
},{"14":14}],43:[function(_dereq_,module,exports){
|
|
6755
7083
|
/**
|
|
6756
7084
|
* Copyright 2013-present, Facebook, Inc.
|
|
6757
7085
|
* All rights reserved.
|
|
@@ -6780,16 +7108,18 @@ var EventPluginHub = _dereq_(17);
|
|
|
6780
7108
|
var EventPluginRegistry = _dereq_(18);
|
|
6781
7109
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
6782
7110
|
var ReactComponentBrowserEnvironment = _dereq_(35);
|
|
6783
|
-
var ReactDOMButton = _dereq_(
|
|
6784
|
-
var ReactDOMComponentFlags = _dereq_(
|
|
6785
|
-
var ReactDOMComponentTree = _dereq_(
|
|
6786
|
-
var ReactDOMInput = _dereq_(
|
|
6787
|
-
var ReactDOMOption = _dereq_(
|
|
6788
|
-
var ReactDOMSelect = _dereq_(
|
|
6789
|
-
var ReactDOMTextarea = _dereq_(
|
|
6790
|
-
var
|
|
6791
|
-
var
|
|
7111
|
+
var ReactDOMButton = _dereq_(42);
|
|
7112
|
+
var ReactDOMComponentFlags = _dereq_(44);
|
|
7113
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
7114
|
+
var ReactDOMInput = _dereq_(52);
|
|
7115
|
+
var ReactDOMOption = _dereq_(54);
|
|
7116
|
+
var ReactDOMSelect = _dereq_(55);
|
|
7117
|
+
var ReactDOMTextarea = _dereq_(59);
|
|
7118
|
+
var ReactInstrumentation = _dereq_(76);
|
|
7119
|
+
var ReactMultiChild = _dereq_(81);
|
|
7120
|
+
var ReactServerRenderingTransaction = _dereq_(97);
|
|
6792
7121
|
|
|
7122
|
+
var emptyFunction = _dereq_(165);
|
|
6793
7123
|
var escapeTextContentForBrowser = _dereq_(131);
|
|
6794
7124
|
var invariant = _dereq_(173);
|
|
6795
7125
|
var isEventSupported = _dereq_(145);
|
|
@@ -6908,6 +7238,9 @@ function assertValidProps(component, props) {
|
|
|
6908
7238
|
}
|
|
6909
7239
|
|
|
6910
7240
|
function enqueuePutListener(inst, registrationName, listener, transaction) {
|
|
7241
|
+
if (transaction instanceof ReactServerRenderingTransaction) {
|
|
7242
|
+
return;
|
|
7243
|
+
}
|
|
6911
7244
|
if ("development" !== 'production') {
|
|
6912
7245
|
// IE8 has no API for event capturing and the `onScroll` event doesn't
|
|
6913
7246
|
// bubble.
|
|
@@ -6916,10 +7249,6 @@ function enqueuePutListener(inst, registrationName, listener, transaction) {
|
|
|
6916
7249
|
var containerInfo = inst._nativeContainerInfo;
|
|
6917
7250
|
var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;
|
|
6918
7251
|
var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;
|
|
6919
|
-
if (!doc) {
|
|
6920
|
-
// Server rendering.
|
|
6921
|
-
return;
|
|
6922
|
-
}
|
|
6923
7252
|
listenTo(registrationName, doc);
|
|
6924
7253
|
transaction.getReactMountReady().enqueue(putListener, {
|
|
6925
7254
|
inst: inst,
|
|
@@ -6938,6 +7267,19 @@ function optionPostMount() {
|
|
|
6938
7267
|
ReactDOMOption.postMountWrapper(inst);
|
|
6939
7268
|
}
|
|
6940
7269
|
|
|
7270
|
+
var setContentChildForInstrumentation = emptyFunction;
|
|
7271
|
+
if ("development" !== 'production') {
|
|
7272
|
+
setContentChildForInstrumentation = function (contentToUse) {
|
|
7273
|
+
var debugID = this._debugID;
|
|
7274
|
+
var contentDebugID = debugID + '#text';
|
|
7275
|
+
this._contentDebugID = contentDebugID;
|
|
7276
|
+
ReactInstrumentation.debugTool.onSetDisplayName(contentDebugID, '#text');
|
|
7277
|
+
ReactInstrumentation.debugTool.onSetText(contentDebugID, '' + contentToUse);
|
|
7278
|
+
ReactInstrumentation.debugTool.onMountComponent(contentDebugID);
|
|
7279
|
+
ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);
|
|
7280
|
+
};
|
|
7281
|
+
}
|
|
7282
|
+
|
|
6941
7283
|
// There are so many media events, it makes sense to just
|
|
6942
7284
|
// maintain a list rather than create a `trapBubbledEvent` for each
|
|
6943
7285
|
var mediaEvents = {
|
|
@@ -7098,6 +7440,7 @@ function ReactDOMComponent(element) {
|
|
|
7098
7440
|
this._flags = 0;
|
|
7099
7441
|
if ("development" !== 'production') {
|
|
7100
7442
|
this._ancestorInfo = null;
|
|
7443
|
+
this._contentDebugID = null;
|
|
7101
7444
|
}
|
|
7102
7445
|
}
|
|
7103
7446
|
|
|
@@ -7213,7 +7556,7 @@ ReactDOMComponent.Mixin = {
|
|
|
7213
7556
|
div.innerHTML = '<' + type + '></' + type + '>';
|
|
7214
7557
|
el = div.removeChild(div.firstChild);
|
|
7215
7558
|
} else {
|
|
7216
|
-
el = ownerDocument.createElement(this._currentElement.type);
|
|
7559
|
+
el = ownerDocument.createElement(this._currentElement.type, props.is || null);
|
|
7217
7560
|
}
|
|
7218
7561
|
} else {
|
|
7219
7562
|
el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type);
|
|
@@ -7343,6 +7686,9 @@ ReactDOMComponent.Mixin = {
|
|
|
7343
7686
|
if (contentToUse != null) {
|
|
7344
7687
|
// TODO: Validate that text is allowed as a child of this node
|
|
7345
7688
|
ret = escapeTextContentForBrowser(contentToUse);
|
|
7689
|
+
if ("development" !== 'production') {
|
|
7690
|
+
setContentChildForInstrumentation.call(this, contentToUse);
|
|
7691
|
+
}
|
|
7346
7692
|
} else if (childrenToUse != null) {
|
|
7347
7693
|
var mountImages = this.mountChildren(childrenToUse, transaction, context);
|
|
7348
7694
|
ret = mountImages.join('');
|
|
@@ -7377,6 +7723,9 @@ ReactDOMComponent.Mixin = {
|
|
|
7377
7723
|
var childrenToUse = contentToUse != null ? null : props.children;
|
|
7378
7724
|
if (contentToUse != null) {
|
|
7379
7725
|
// TODO: Validate that text is allowed as a child of this node
|
|
7726
|
+
if ("development" !== 'production') {
|
|
7727
|
+
setContentChildForInstrumentation.call(this, contentToUse);
|
|
7728
|
+
}
|
|
7380
7729
|
DOMLazyTree.queueText(lazyTree, contentToUse);
|
|
7381
7730
|
} else if (childrenToUse != null) {
|
|
7382
7731
|
var mountImages = this.mountChildren(childrenToUse, transaction, context);
|
|
@@ -7585,17 +7934,34 @@ ReactDOMComponent.Mixin = {
|
|
|
7585
7934
|
this.updateChildren(null, transaction, context);
|
|
7586
7935
|
} else if (lastHasContentOrHtml && !nextHasContentOrHtml) {
|
|
7587
7936
|
this.updateTextContent('');
|
|
7937
|
+
if ("development" !== 'production') {
|
|
7938
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);
|
|
7939
|
+
}
|
|
7588
7940
|
}
|
|
7589
7941
|
|
|
7590
7942
|
if (nextContent != null) {
|
|
7591
7943
|
if (lastContent !== nextContent) {
|
|
7592
7944
|
this.updateTextContent('' + nextContent);
|
|
7945
|
+
if ("development" !== 'production') {
|
|
7946
|
+
this._contentDebugID = this._debugID + '#text';
|
|
7947
|
+
setContentChildForInstrumentation.call(this, nextContent);
|
|
7948
|
+
}
|
|
7593
7949
|
}
|
|
7594
7950
|
} else if (nextHtml != null) {
|
|
7595
7951
|
if (lastHtml !== nextHtml) {
|
|
7596
7952
|
this.updateMarkup('' + nextHtml);
|
|
7597
7953
|
}
|
|
7954
|
+
if ("development" !== 'production') {
|
|
7955
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);
|
|
7956
|
+
}
|
|
7598
7957
|
} else if (nextChildren != null) {
|
|
7958
|
+
if ("development" !== 'production') {
|
|
7959
|
+
if (this._contentDebugID) {
|
|
7960
|
+
ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);
|
|
7961
|
+
this._contentDebugID = null;
|
|
7962
|
+
}
|
|
7963
|
+
}
|
|
7964
|
+
|
|
7599
7965
|
this.updateChildren(nextChildren, transaction, context);
|
|
7600
7966
|
}
|
|
7601
7967
|
},
|
|
@@ -7645,6 +8011,13 @@ ReactDOMComponent.Mixin = {
|
|
|
7645
8011
|
this._rootNodeID = null;
|
|
7646
8012
|
this._domID = null;
|
|
7647
8013
|
this._wrapperState = null;
|
|
8014
|
+
|
|
8015
|
+
if ("development" !== 'production') {
|
|
8016
|
+
if (this._contentDebugID) {
|
|
8017
|
+
ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);
|
|
8018
|
+
this._contentDebugID = null;
|
|
8019
|
+
}
|
|
8020
|
+
}
|
|
7648
8021
|
},
|
|
7649
8022
|
|
|
7650
8023
|
getPublicInstance: function () {
|
|
@@ -7653,15 +8026,10 @@ ReactDOMComponent.Mixin = {
|
|
|
7653
8026
|
|
|
7654
8027
|
};
|
|
7655
8028
|
|
|
7656
|
-
ReactPerf.measureMethods(ReactDOMComponent.Mixin, 'ReactDOMComponent', {
|
|
7657
|
-
mountComponent: 'mountComponent',
|
|
7658
|
-
receiveComponent: 'receiveComponent'
|
|
7659
|
-
});
|
|
7660
|
-
|
|
7661
8029
|
_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);
|
|
7662
8030
|
|
|
7663
8031
|
module.exports = ReactDOMComponent;
|
|
7664
|
-
},{"1":1,"10":10,"11":11,"131":131,"145":145,"156":156,"16":16,"17":17,"173":173,"177":177,"18":18,"182":182,"183":183,"184":184,"28":28,"35":35,"4":4,"
|
|
8032
|
+
},{"1":1,"10":10,"11":11,"131":131,"145":145,"156":156,"16":16,"165":165,"17":17,"173":173,"177":177,"18":18,"182":182,"183":183,"184":184,"28":28,"35":35,"4":4,"42":42,"44":44,"45":45,"52":52,"54":54,"55":55,"59":59,"76":76,"8":8,"81":81,"9":9,"97":97}],44:[function(_dereq_,module,exports){
|
|
7665
8033
|
/**
|
|
7666
8034
|
* Copyright 2015-present, Facebook, Inc.
|
|
7667
8035
|
* All rights reserved.
|
|
@@ -7680,7 +8048,7 @@ var ReactDOMComponentFlags = {
|
|
|
7680
8048
|
};
|
|
7681
8049
|
|
|
7682
8050
|
module.exports = ReactDOMComponentFlags;
|
|
7683
|
-
},{}],
|
|
8051
|
+
},{}],45:[function(_dereq_,module,exports){
|
|
7684
8052
|
/**
|
|
7685
8053
|
* Copyright 2013-present, Facebook, Inc.
|
|
7686
8054
|
* All rights reserved.
|
|
@@ -7695,7 +8063,7 @@ module.exports = ReactDOMComponentFlags;
|
|
|
7695
8063
|
'use strict';
|
|
7696
8064
|
|
|
7697
8065
|
var DOMProperty = _dereq_(10);
|
|
7698
|
-
var ReactDOMComponentFlags = _dereq_(
|
|
8066
|
+
var ReactDOMComponentFlags = _dereq_(44);
|
|
7699
8067
|
|
|
7700
8068
|
var invariant = _dereq_(173);
|
|
7701
8069
|
|
|
@@ -7867,7 +8235,7 @@ var ReactDOMComponentTree = {
|
|
|
7867
8235
|
};
|
|
7868
8236
|
|
|
7869
8237
|
module.exports = ReactDOMComponentTree;
|
|
7870
|
-
},{"10":10,"173":173,"
|
|
8238
|
+
},{"10":10,"173":173,"44":44}],46:[function(_dereq_,module,exports){
|
|
7871
8239
|
/**
|
|
7872
8240
|
* Copyright 2013-present, Facebook, Inc.
|
|
7873
8241
|
* All rights reserved.
|
|
@@ -7901,7 +8269,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) {
|
|
|
7901
8269
|
}
|
|
7902
8270
|
|
|
7903
8271
|
module.exports = ReactDOMContainerInfo;
|
|
7904
|
-
},{"156":156}],
|
|
8272
|
+
},{"156":156}],47:[function(_dereq_,module,exports){
|
|
7905
8273
|
/**
|
|
7906
8274
|
* Copyright 2013-present, Facebook, Inc.
|
|
7907
8275
|
* All rights reserved.
|
|
@@ -7915,7 +8283,7 @@ module.exports = ReactDOMContainerInfo;
|
|
|
7915
8283
|
|
|
7916
8284
|
'use strict';
|
|
7917
8285
|
|
|
7918
|
-
var ReactDOMUnknownPropertyDevtool = _dereq_(
|
|
8286
|
+
var ReactDOMUnknownPropertyDevtool = _dereq_(61);
|
|
7919
8287
|
|
|
7920
8288
|
var warning = _dereq_(183);
|
|
7921
8289
|
|
|
@@ -7963,7 +8331,7 @@ var ReactDOMDebugTool = {
|
|
|
7963
8331
|
ReactDOMDebugTool.addDevtool(ReactDOMUnknownPropertyDevtool);
|
|
7964
8332
|
|
|
7965
8333
|
module.exports = ReactDOMDebugTool;
|
|
7966
|
-
},{"183":183,"
|
|
8334
|
+
},{"183":183,"61":61}],48:[function(_dereq_,module,exports){
|
|
7967
8335
|
/**
|
|
7968
8336
|
* Copyright 2014-present, Facebook, Inc.
|
|
7969
8337
|
* All rights reserved.
|
|
@@ -7980,7 +8348,7 @@ module.exports = ReactDOMDebugTool;
|
|
|
7980
8348
|
var _assign = _dereq_(184);
|
|
7981
8349
|
|
|
7982
8350
|
var DOMLazyTree = _dereq_(8);
|
|
7983
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8351
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
7984
8352
|
|
|
7985
8353
|
var ReactDOMEmptyComponent = function (instantiate) {
|
|
7986
8354
|
// ReactCompositeComponent uses this:
|
|
@@ -8024,7 +8392,7 @@ _assign(ReactDOMEmptyComponent.prototype, {
|
|
|
8024
8392
|
});
|
|
8025
8393
|
|
|
8026
8394
|
module.exports = ReactDOMEmptyComponent;
|
|
8027
|
-
},{"184":184,"
|
|
8395
|
+
},{"184":184,"45":45,"8":8}],49:[function(_dereq_,module,exports){
|
|
8028
8396
|
/**
|
|
8029
8397
|
* Copyright 2013-present, Facebook, Inc.
|
|
8030
8398
|
* All rights reserved.
|
|
@@ -8038,8 +8406,8 @@ module.exports = ReactDOMEmptyComponent;
|
|
|
8038
8406
|
|
|
8039
8407
|
'use strict';
|
|
8040
8408
|
|
|
8041
|
-
var ReactElement = _dereq_(
|
|
8042
|
-
var ReactElementValidator = _dereq_(
|
|
8409
|
+
var ReactElement = _dereq_(65);
|
|
8410
|
+
var ReactElementValidator = _dereq_(66);
|
|
8043
8411
|
|
|
8044
8412
|
var mapObject = _dereq_(178);
|
|
8045
8413
|
|
|
@@ -8201,7 +8569,7 @@ var ReactDOMFactories = mapObject({
|
|
|
8201
8569
|
}, createDOMFactory);
|
|
8202
8570
|
|
|
8203
8571
|
module.exports = ReactDOMFactories;
|
|
8204
|
-
},{"178":178,"
|
|
8572
|
+
},{"178":178,"65":65,"66":66}],50:[function(_dereq_,module,exports){
|
|
8205
8573
|
/**
|
|
8206
8574
|
* Copyright 2013-present, Facebook, Inc.
|
|
8207
8575
|
* All rights reserved.
|
|
@@ -8220,7 +8588,7 @@ var ReactDOMFeatureFlags = {
|
|
|
8220
8588
|
};
|
|
8221
8589
|
|
|
8222
8590
|
module.exports = ReactDOMFeatureFlags;
|
|
8223
|
-
},{}],
|
|
8591
|
+
},{}],51:[function(_dereq_,module,exports){
|
|
8224
8592
|
/**
|
|
8225
8593
|
* Copyright 2013-present, Facebook, Inc.
|
|
8226
8594
|
* All rights reserved.
|
|
@@ -8235,8 +8603,7 @@ module.exports = ReactDOMFeatureFlags;
|
|
|
8235
8603
|
'use strict';
|
|
8236
8604
|
|
|
8237
8605
|
var DOMChildrenOperations = _dereq_(7);
|
|
8238
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8239
|
-
var ReactPerf = _dereq_(88);
|
|
8606
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8240
8607
|
|
|
8241
8608
|
/**
|
|
8242
8609
|
* Operations used to process updates to DOM nodes.
|
|
@@ -8255,12 +8622,8 @@ var ReactDOMIDOperations = {
|
|
|
8255
8622
|
}
|
|
8256
8623
|
};
|
|
8257
8624
|
|
|
8258
|
-
ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', {
|
|
8259
|
-
dangerouslyProcessChildrenUpdates: 'dangerouslyProcessChildrenUpdates'
|
|
8260
|
-
});
|
|
8261
|
-
|
|
8262
8625
|
module.exports = ReactDOMIDOperations;
|
|
8263
|
-
},{"
|
|
8626
|
+
},{"45":45,"7":7}],52:[function(_dereq_,module,exports){
|
|
8264
8627
|
/**
|
|
8265
8628
|
* Copyright 2013-present, Facebook, Inc.
|
|
8266
8629
|
* All rights reserved.
|
|
@@ -8279,7 +8642,7 @@ var _assign = _dereq_(184);
|
|
|
8279
8642
|
var DisabledInputUtils = _dereq_(14);
|
|
8280
8643
|
var DOMPropertyOperations = _dereq_(11);
|
|
8281
8644
|
var LinkedValueUtils = _dereq_(25);
|
|
8282
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8645
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8283
8646
|
var ReactUpdates = _dereq_(104);
|
|
8284
8647
|
|
|
8285
8648
|
var invariant = _dereq_(173);
|
|
@@ -8348,6 +8711,8 @@ var ReactDOMInput = {
|
|
|
8348
8711
|
if ("development" !== 'production') {
|
|
8349
8712
|
LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);
|
|
8350
8713
|
|
|
8714
|
+
var owner = inst._currentElement._owner;
|
|
8715
|
+
|
|
8351
8716
|
if (props.valueLink !== undefined && !didWarnValueLink) {
|
|
8352
8717
|
"development" !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;
|
|
8353
8718
|
didWarnValueLink = true;
|
|
@@ -8357,11 +8722,11 @@ var ReactDOMInput = {
|
|
|
8357
8722
|
didWarnCheckedLink = true;
|
|
8358
8723
|
}
|
|
8359
8724
|
if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {
|
|
8360
|
-
"development" !== 'production' ? warning(false, 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;
|
|
8725
|
+
"development" !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;
|
|
8361
8726
|
didWarnCheckedDefaultChecked = true;
|
|
8362
8727
|
}
|
|
8363
8728
|
if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {
|
|
8364
|
-
"development" !== 'production' ? warning(false, 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;
|
|
8729
|
+
"development" !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;
|
|
8365
8730
|
didWarnValueDefaultValue = true;
|
|
8366
8731
|
}
|
|
8367
8732
|
warnIfValueIsNull(props);
|
|
@@ -8392,7 +8757,7 @@ var ReactDOMInput = {
|
|
|
8392
8757
|
var owner = inst._currentElement._owner;
|
|
8393
8758
|
|
|
8394
8759
|
if ((initialValue || !inst._wrapperState.controlled) && controlled && !didWarnUncontrolledToControlled) {
|
|
8395
|
-
"development" !== 'production' ? warning(false, '%s is changing
|
|
8760
|
+
"development" !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;
|
|
8396
8761
|
didWarnUncontrolledToControlled = true;
|
|
8397
8762
|
}
|
|
8398
8763
|
if (inst._wrapperState.controlled && (defaultValue || !controlled) && !didWarnControlledToUncontrolled) {
|
|
@@ -8465,7 +8830,7 @@ function _handleChange(event) {
|
|
|
8465
8830
|
}
|
|
8466
8831
|
|
|
8467
8832
|
module.exports = ReactDOMInput;
|
|
8468
|
-
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"
|
|
8833
|
+
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"45":45}],53:[function(_dereq_,module,exports){
|
|
8469
8834
|
/**
|
|
8470
8835
|
* Copyright 2013-present, Facebook, Inc.
|
|
8471
8836
|
* All rights reserved.
|
|
@@ -8479,10 +8844,10 @@ module.exports = ReactDOMInput;
|
|
|
8479
8844
|
|
|
8480
8845
|
'use strict';
|
|
8481
8846
|
|
|
8482
|
-
var ReactDOMDebugTool = _dereq_(
|
|
8847
|
+
var ReactDOMDebugTool = _dereq_(47);
|
|
8483
8848
|
|
|
8484
8849
|
module.exports = { debugTool: ReactDOMDebugTool };
|
|
8485
|
-
},{"
|
|
8850
|
+
},{"47":47}],54:[function(_dereq_,module,exports){
|
|
8486
8851
|
/**
|
|
8487
8852
|
* Copyright 2013-present, Facebook, Inc.
|
|
8488
8853
|
* All rights reserved.
|
|
@@ -8499,8 +8864,8 @@ module.exports = { debugTool: ReactDOMDebugTool };
|
|
|
8499
8864
|
var _assign = _dereq_(184);
|
|
8500
8865
|
|
|
8501
8866
|
var ReactChildren = _dereq_(32);
|
|
8502
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8503
|
-
var ReactDOMSelect = _dereq_(
|
|
8867
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8868
|
+
var ReactDOMSelect = _dereq_(55);
|
|
8504
8869
|
|
|
8505
8870
|
var warning = _dereq_(183);
|
|
8506
8871
|
|
|
@@ -8592,7 +8957,7 @@ var ReactDOMOption = {
|
|
|
8592
8957
|
};
|
|
8593
8958
|
|
|
8594
8959
|
module.exports = ReactDOMOption;
|
|
8595
|
-
},{"183":183,"184":184,"32":32,"
|
|
8960
|
+
},{"183":183,"184":184,"32":32,"45":45,"55":55}],55:[function(_dereq_,module,exports){
|
|
8596
8961
|
/**
|
|
8597
8962
|
* Copyright 2013-present, Facebook, Inc.
|
|
8598
8963
|
* All rights reserved.
|
|
@@ -8610,7 +8975,7 @@ var _assign = _dereq_(184);
|
|
|
8610
8975
|
|
|
8611
8976
|
var DisabledInputUtils = _dereq_(14);
|
|
8612
8977
|
var LinkedValueUtils = _dereq_(25);
|
|
8613
|
-
var ReactDOMComponentTree = _dereq_(
|
|
8978
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
8614
8979
|
var ReactUpdates = _dereq_(104);
|
|
8615
8980
|
|
|
8616
8981
|
var warning = _dereq_(183);
|
|
@@ -8806,7 +9171,7 @@ function _handleChange(event) {
|
|
|
8806
9171
|
}
|
|
8807
9172
|
|
|
8808
9173
|
module.exports = ReactDOMSelect;
|
|
8809
|
-
},{"104":104,"14":14,"183":183,"184":184,"25":25,"
|
|
9174
|
+
},{"104":104,"14":14,"183":183,"184":184,"25":25,"45":45}],56:[function(_dereq_,module,exports){
|
|
8810
9175
|
/**
|
|
8811
9176
|
* Copyright 2013-present, Facebook, Inc.
|
|
8812
9177
|
* All rights reserved.
|
|
@@ -9019,7 +9384,7 @@ var ReactDOMSelection = {
|
|
|
9019
9384
|
};
|
|
9020
9385
|
|
|
9021
9386
|
module.exports = ReactDOMSelection;
|
|
9022
|
-
},{"141":141,"142":142,"159":159}],
|
|
9387
|
+
},{"141":141,"142":142,"159":159}],57:[function(_dereq_,module,exports){
|
|
9023
9388
|
/**
|
|
9024
9389
|
* Copyright 2013-present, Facebook, Inc.
|
|
9025
9390
|
* All rights reserved.
|
|
@@ -9033,7 +9398,7 @@ module.exports = ReactDOMSelection;
|
|
|
9033
9398
|
|
|
9034
9399
|
'use strict';
|
|
9035
9400
|
|
|
9036
|
-
var ReactDefaultInjection = _dereq_(
|
|
9401
|
+
var ReactDefaultInjection = _dereq_(64);
|
|
9037
9402
|
var ReactServerRendering = _dereq_(96);
|
|
9038
9403
|
var ReactVersion = _dereq_(105);
|
|
9039
9404
|
|
|
@@ -9046,7 +9411,7 @@ var ReactDOMServer = {
|
|
|
9046
9411
|
};
|
|
9047
9412
|
|
|
9048
9413
|
module.exports = ReactDOMServer;
|
|
9049
|
-
},{"105":105,"
|
|
9414
|
+
},{"105":105,"64":64,"96":96}],58:[function(_dereq_,module,exports){
|
|
9050
9415
|
/**
|
|
9051
9416
|
* Copyright 2013-present, Facebook, Inc.
|
|
9052
9417
|
* All rights reserved.
|
|
@@ -9064,8 +9429,8 @@ var _assign = _dereq_(184);
|
|
|
9064
9429
|
|
|
9065
9430
|
var DOMChildrenOperations = _dereq_(7);
|
|
9066
9431
|
var DOMLazyTree = _dereq_(8);
|
|
9067
|
-
var ReactDOMComponentTree = _dereq_(
|
|
9068
|
-
var
|
|
9432
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
9433
|
+
var ReactInstrumentation = _dereq_(76);
|
|
9069
9434
|
|
|
9070
9435
|
var escapeTextContentForBrowser = _dereq_(131);
|
|
9071
9436
|
var invariant = _dereq_(173);
|
|
@@ -9113,6 +9478,8 @@ _assign(ReactDOMTextComponent.prototype, {
|
|
|
9113
9478
|
*/
|
|
9114
9479
|
mountComponent: function (transaction, nativeParent, nativeContainerInfo, context) {
|
|
9115
9480
|
if ("development" !== 'production') {
|
|
9481
|
+
ReactInstrumentation.debugTool.onSetText(this._debugID, this._stringText);
|
|
9482
|
+
|
|
9116
9483
|
var parentInfo;
|
|
9117
9484
|
if (nativeParent != null) {
|
|
9118
9485
|
parentInfo = nativeParent._ancestorInfo;
|
|
@@ -9176,6 +9543,10 @@ _assign(ReactDOMTextComponent.prototype, {
|
|
|
9176
9543
|
this._stringText = nextStringText;
|
|
9177
9544
|
var commentNodes = this.getNativeNode();
|
|
9178
9545
|
DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);
|
|
9546
|
+
|
|
9547
|
+
if ("development" !== 'production') {
|
|
9548
|
+
ReactInstrumentation.debugTool.onSetText(this._debugID, nextStringText);
|
|
9549
|
+
}
|
|
9179
9550
|
}
|
|
9180
9551
|
}
|
|
9181
9552
|
},
|
|
@@ -9210,13 +9581,8 @@ _assign(ReactDOMTextComponent.prototype, {
|
|
|
9210
9581
|
|
|
9211
9582
|
});
|
|
9212
9583
|
|
|
9213
|
-
ReactPerf.measureMethods(ReactDOMTextComponent.prototype, 'ReactDOMTextComponent', {
|
|
9214
|
-
mountComponent: 'mountComponent',
|
|
9215
|
-
receiveComponent: 'receiveComponent'
|
|
9216
|
-
});
|
|
9217
|
-
|
|
9218
9584
|
module.exports = ReactDOMTextComponent;
|
|
9219
|
-
},{"131":131,"156":156,"173":173,"184":184,"
|
|
9585
|
+
},{"131":131,"156":156,"173":173,"184":184,"45":45,"7":7,"76":76,"8":8}],59:[function(_dereq_,module,exports){
|
|
9220
9586
|
/**
|
|
9221
9587
|
* Copyright 2013-present, Facebook, Inc.
|
|
9222
9588
|
* All rights reserved.
|
|
@@ -9235,7 +9601,7 @@ var _assign = _dereq_(184);
|
|
|
9235
9601
|
var DisabledInputUtils = _dereq_(14);
|
|
9236
9602
|
var DOMPropertyOperations = _dereq_(11);
|
|
9237
9603
|
var LinkedValueUtils = _dereq_(25);
|
|
9238
|
-
var ReactDOMComponentTree = _dereq_(
|
|
9604
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
9239
9605
|
var ReactUpdates = _dereq_(104);
|
|
9240
9606
|
|
|
9241
9607
|
var invariant = _dereq_(173);
|
|
@@ -9359,7 +9725,7 @@ function _handleChange(event) {
|
|
|
9359
9725
|
}
|
|
9360
9726
|
|
|
9361
9727
|
module.exports = ReactDOMTextarea;
|
|
9362
|
-
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"
|
|
9728
|
+
},{"104":104,"11":11,"14":14,"173":173,"183":183,"184":184,"25":25,"45":45}],60:[function(_dereq_,module,exports){
|
|
9363
9729
|
/**
|
|
9364
9730
|
* Copyright 2015-present, Facebook, Inc.
|
|
9365
9731
|
* All rights reserved.
|
|
@@ -9494,7 +9860,7 @@ module.exports = {
|
|
|
9494
9860
|
traverseTwoPhase: traverseTwoPhase,
|
|
9495
9861
|
traverseEnterLeave: traverseEnterLeave
|
|
9496
9862
|
};
|
|
9497
|
-
},{"173":173}],
|
|
9863
|
+
},{"173":173}],61:[function(_dereq_,module,exports){
|
|
9498
9864
|
/**
|
|
9499
9865
|
* Copyright 2013-present, Facebook, Inc.
|
|
9500
9866
|
* All rights reserved.
|
|
@@ -9559,7 +9925,7 @@ var ReactDOMUnknownPropertyDevtool = {
|
|
|
9559
9925
|
};
|
|
9560
9926
|
|
|
9561
9927
|
module.exports = ReactDOMUnknownPropertyDevtool;
|
|
9562
|
-
},{"10":10,"18":18,"183":183}],
|
|
9928
|
+
},{"10":10,"18":18,"183":183}],62:[function(_dereq_,module,exports){
|
|
9563
9929
|
/**
|
|
9564
9930
|
* Copyright 2016-present, Facebook, Inc.
|
|
9565
9931
|
* All rights reserved.
|
|
@@ -9573,7 +9939,9 @@ module.exports = ReactDOMUnknownPropertyDevtool;
|
|
|
9573
9939
|
|
|
9574
9940
|
'use strict';
|
|
9575
9941
|
|
|
9576
|
-
var
|
|
9942
|
+
var ExecutionEnvironment = _dereq_(159);
|
|
9943
|
+
|
|
9944
|
+
var performanceNow = _dereq_(181);
|
|
9577
9945
|
var warning = _dereq_(183);
|
|
9578
9946
|
|
|
9579
9947
|
var eventHandlers = [];
|
|
@@ -9594,6 +9962,57 @@ function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) {
|
|
|
9594
9962
|
}
|
|
9595
9963
|
}
|
|
9596
9964
|
|
|
9965
|
+
var isProfiling = false;
|
|
9966
|
+
var flushHistory = [];
|
|
9967
|
+
var currentFlushNesting = 0;
|
|
9968
|
+
var currentFlushMeasurements = null;
|
|
9969
|
+
var currentFlushStartTime = null;
|
|
9970
|
+
var currentTimerDebugID = null;
|
|
9971
|
+
var currentTimerStartTime = null;
|
|
9972
|
+
var currentTimerType = null;
|
|
9973
|
+
|
|
9974
|
+
function resetMeasurements() {
|
|
9975
|
+
if ("development" !== 'production') {
|
|
9976
|
+
if (!isProfiling || currentFlushNesting === 0) {
|
|
9977
|
+
currentFlushStartTime = null;
|
|
9978
|
+
currentFlushMeasurements = null;
|
|
9979
|
+
return;
|
|
9980
|
+
}
|
|
9981
|
+
|
|
9982
|
+
var previousStartTime = currentFlushStartTime;
|
|
9983
|
+
var previousMeasurements = currentFlushMeasurements || [];
|
|
9984
|
+
var previousOperations = ReactNativeOperationHistoryDevtool.getHistory();
|
|
9985
|
+
|
|
9986
|
+
if (previousMeasurements.length || previousOperations.length) {
|
|
9987
|
+
var registeredIDs = ReactComponentTreeDevtool.getRegisteredIDs();
|
|
9988
|
+
flushHistory.push({
|
|
9989
|
+
duration: performanceNow() - previousStartTime,
|
|
9990
|
+
measurements: previousMeasurements || [],
|
|
9991
|
+
operations: previousOperations || [],
|
|
9992
|
+
treeSnapshot: registeredIDs.reduce(function (tree, id) {
|
|
9993
|
+
var ownerID = ReactComponentTreeDevtool.getOwnerID(id);
|
|
9994
|
+
var parentID = ReactComponentTreeDevtool.getParentID(id);
|
|
9995
|
+
tree[id] = {
|
|
9996
|
+
displayName: ReactComponentTreeDevtool.getDisplayName(id),
|
|
9997
|
+
text: ReactComponentTreeDevtool.getText(id),
|
|
9998
|
+
updateCount: ReactComponentTreeDevtool.getUpdateCount(id),
|
|
9999
|
+
childIDs: ReactComponentTreeDevtool.getChildIDs(id),
|
|
10000
|
+
// Text nodes don't have owners but this is close enough.
|
|
10001
|
+
ownerID: ownerID || ReactComponentTreeDevtool.getOwnerID(parentID),
|
|
10002
|
+
parentID: parentID
|
|
10003
|
+
};
|
|
10004
|
+
return tree;
|
|
10005
|
+
}, {})
|
|
10006
|
+
});
|
|
10007
|
+
}
|
|
10008
|
+
|
|
10009
|
+
currentFlushStartTime = performanceNow();
|
|
10010
|
+
currentFlushMeasurements = [];
|
|
10011
|
+
ReactComponentTreeDevtool.purgeUnmountedComponents();
|
|
10012
|
+
ReactNativeOperationHistoryDevtool.clearHistory();
|
|
10013
|
+
}
|
|
10014
|
+
}
|
|
10015
|
+
|
|
9597
10016
|
var ReactDebugTool = {
|
|
9598
10017
|
addDevtool: function (devtool) {
|
|
9599
10018
|
eventHandlers.push(devtool);
|
|
@@ -9606,33 +10025,132 @@ var ReactDebugTool = {
|
|
|
9606
10025
|
}
|
|
9607
10026
|
}
|
|
9608
10027
|
},
|
|
9609
|
-
|
|
9610
|
-
|
|
10028
|
+
beginProfiling: function () {
|
|
10029
|
+
if ("development" !== 'production') {
|
|
10030
|
+
if (isProfiling) {
|
|
10031
|
+
return;
|
|
10032
|
+
}
|
|
10033
|
+
|
|
10034
|
+
isProfiling = true;
|
|
10035
|
+
flushHistory.length = 0;
|
|
10036
|
+
resetMeasurements();
|
|
10037
|
+
}
|
|
10038
|
+
},
|
|
10039
|
+
endProfiling: function () {
|
|
10040
|
+
if ("development" !== 'production') {
|
|
10041
|
+
if (!isProfiling) {
|
|
10042
|
+
return;
|
|
10043
|
+
}
|
|
10044
|
+
|
|
10045
|
+
isProfiling = false;
|
|
10046
|
+
resetMeasurements();
|
|
10047
|
+
}
|
|
10048
|
+
},
|
|
10049
|
+
getFlushHistory: function () {
|
|
10050
|
+
if ("development" !== 'production') {
|
|
10051
|
+
return flushHistory;
|
|
10052
|
+
}
|
|
10053
|
+
},
|
|
10054
|
+
onBeginFlush: function () {
|
|
10055
|
+
if ("development" !== 'production') {
|
|
10056
|
+
currentFlushNesting++;
|
|
10057
|
+
resetMeasurements();
|
|
10058
|
+
}
|
|
10059
|
+
emitEvent('onBeginFlush');
|
|
10060
|
+
},
|
|
10061
|
+
onEndFlush: function () {
|
|
10062
|
+
if ("development" !== 'production') {
|
|
10063
|
+
resetMeasurements();
|
|
10064
|
+
currentFlushNesting--;
|
|
10065
|
+
}
|
|
10066
|
+
emitEvent('onEndFlush');
|
|
10067
|
+
},
|
|
10068
|
+
onBeginLifeCycleTimer: function (debugID, timerType) {
|
|
10069
|
+
emitEvent('onBeginLifeCycleTimer', debugID, timerType);
|
|
10070
|
+
if ("development" !== 'production') {
|
|
10071
|
+
if (isProfiling && currentFlushNesting > 0) {
|
|
10072
|
+
"development" !== 'production' ? warning(!currentTimerType, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;
|
|
10073
|
+
currentTimerStartTime = performanceNow();
|
|
10074
|
+
currentTimerDebugID = debugID;
|
|
10075
|
+
currentTimerType = timerType;
|
|
10076
|
+
}
|
|
10077
|
+
}
|
|
10078
|
+
},
|
|
10079
|
+
onEndLifeCycleTimer: function (debugID, timerType) {
|
|
10080
|
+
if ("development" !== 'production') {
|
|
10081
|
+
if (isProfiling && currentFlushNesting > 0) {
|
|
10082
|
+
"development" !== 'production' ? warning(currentTimerType === timerType, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0;
|
|
10083
|
+
currentFlushMeasurements.push({
|
|
10084
|
+
timerType: timerType,
|
|
10085
|
+
instanceID: debugID,
|
|
10086
|
+
duration: performanceNow() - currentTimerStartTime
|
|
10087
|
+
});
|
|
10088
|
+
currentTimerStartTime = null;
|
|
10089
|
+
currentTimerDebugID = null;
|
|
10090
|
+
currentTimerType = null;
|
|
10091
|
+
}
|
|
10092
|
+
}
|
|
10093
|
+
emitEvent('onEndLifeCycleTimer', debugID, timerType);
|
|
10094
|
+
},
|
|
10095
|
+
onBeginReconcilerTimer: function (debugID, timerType) {
|
|
10096
|
+
emitEvent('onBeginReconcilerTimer', debugID, timerType);
|
|
10097
|
+
},
|
|
10098
|
+
onEndReconcilerTimer: function (debugID, timerType) {
|
|
10099
|
+
emitEvent('onEndReconcilerTimer', debugID, timerType);
|
|
10100
|
+
},
|
|
10101
|
+
onBeginProcessingChildContext: function () {
|
|
10102
|
+
emitEvent('onBeginProcessingChildContext');
|
|
9611
10103
|
},
|
|
9612
10104
|
onEndProcessingChildContext: function () {
|
|
9613
10105
|
emitEvent('onEndProcessingChildContext');
|
|
9614
10106
|
},
|
|
10107
|
+
onNativeOperation: function (debugID, type, payload) {
|
|
10108
|
+
emitEvent('onNativeOperation', debugID, type, payload);
|
|
10109
|
+
},
|
|
9615
10110
|
onSetState: function () {
|
|
9616
10111
|
emitEvent('onSetState');
|
|
9617
10112
|
},
|
|
9618
|
-
|
|
9619
|
-
emitEvent('
|
|
10113
|
+
onSetDisplayName: function (debugID, displayName) {
|
|
10114
|
+
emitEvent('onSetDisplayName', debugID, displayName);
|
|
10115
|
+
},
|
|
10116
|
+
onSetChildren: function (debugID, childDebugIDs) {
|
|
10117
|
+
emitEvent('onSetChildren', debugID, childDebugIDs);
|
|
10118
|
+
},
|
|
10119
|
+
onSetOwner: function (debugID, ownerDebugID) {
|
|
10120
|
+
emitEvent('onSetOwner', debugID, ownerDebugID);
|
|
10121
|
+
},
|
|
10122
|
+
onSetText: function (debugID, text) {
|
|
10123
|
+
emitEvent('onSetText', debugID, text);
|
|
10124
|
+
},
|
|
10125
|
+
onMountRootComponent: function (debugID) {
|
|
10126
|
+
emitEvent('onMountRootComponent', debugID);
|
|
9620
10127
|
},
|
|
9621
|
-
onMountComponent: function (
|
|
9622
|
-
emitEvent('onMountComponent',
|
|
10128
|
+
onMountComponent: function (debugID) {
|
|
10129
|
+
emitEvent('onMountComponent', debugID);
|
|
9623
10130
|
},
|
|
9624
|
-
onUpdateComponent: function (
|
|
9625
|
-
emitEvent('onUpdateComponent',
|
|
10131
|
+
onUpdateComponent: function (debugID) {
|
|
10132
|
+
emitEvent('onUpdateComponent', debugID);
|
|
9626
10133
|
},
|
|
9627
|
-
onUnmountComponent: function (
|
|
9628
|
-
emitEvent('onUnmountComponent',
|
|
10134
|
+
onUnmountComponent: function (debugID) {
|
|
10135
|
+
emitEvent('onUnmountComponent', debugID);
|
|
9629
10136
|
}
|
|
9630
10137
|
};
|
|
9631
10138
|
|
|
9632
|
-
|
|
10139
|
+
if ("development" !== 'production') {
|
|
10140
|
+
var ReactInvalidSetStateWarningDevTool = _dereq_(77);
|
|
10141
|
+
var ReactNativeOperationHistoryDevtool = _dereq_(84);
|
|
10142
|
+
var ReactComponentTreeDevtool = _dereq_(37);
|
|
10143
|
+
ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool);
|
|
10144
|
+
ReactDebugTool.addDevtool(ReactComponentTreeDevtool);
|
|
10145
|
+
ReactDebugTool.addDevtool(ReactNativeOperationHistoryDevtool);
|
|
10146
|
+
var url = ExecutionEnvironment.canUseDOM && window.location.href || '';
|
|
10147
|
+
if (/[?&]react_perf\b/.test(url)) {
|
|
10148
|
+
ReactDebugTool.beginProfiling();
|
|
10149
|
+
}
|
|
10150
|
+
}
|
|
9633
10151
|
|
|
9634
10152
|
module.exports = ReactDebugTool;
|
|
9635
|
-
},{"183":183,"
|
|
10153
|
+
},{"159":159,"181":181,"183":183,"37":37,"77":77,"84":84}],63:[function(_dereq_,module,exports){
|
|
9636
10154
|
/**
|
|
9637
10155
|
* Copyright 2013-present, Facebook, Inc.
|
|
9638
10156
|
* All rights reserved.
|
|
@@ -9701,7 +10219,7 @@ var ReactDefaultBatchingStrategy = {
|
|
|
9701
10219
|
};
|
|
9702
10220
|
|
|
9703
10221
|
module.exports = ReactDefaultBatchingStrategy;
|
|
9704
|
-
},{"104":104,"124":124,"165":165,"184":184}],
|
|
10222
|
+
},{"104":104,"124":124,"165":165,"184":184}],64:[function(_dereq_,module,exports){
|
|
9705
10223
|
/**
|
|
9706
10224
|
* Copyright 2013-present, Facebook, Inc.
|
|
9707
10225
|
* All rights reserved.
|
|
@@ -9719,17 +10237,16 @@ var BeforeInputEventPlugin = _dereq_(2);
|
|
|
9719
10237
|
var ChangeEventPlugin = _dereq_(6);
|
|
9720
10238
|
var DefaultEventPluginOrder = _dereq_(13);
|
|
9721
10239
|
var EnterLeaveEventPlugin = _dereq_(15);
|
|
9722
|
-
var ExecutionEnvironment = _dereq_(159);
|
|
9723
10240
|
var HTMLDOMPropertyConfig = _dereq_(22);
|
|
9724
10241
|
var ReactComponentBrowserEnvironment = _dereq_(35);
|
|
9725
|
-
var ReactDOMComponent = _dereq_(
|
|
9726
|
-
var ReactDOMComponentTree = _dereq_(
|
|
9727
|
-
var ReactDOMEmptyComponent = _dereq_(
|
|
9728
|
-
var ReactDOMTreeTraversal = _dereq_(
|
|
9729
|
-
var ReactDOMTextComponent = _dereq_(
|
|
9730
|
-
var ReactDefaultBatchingStrategy = _dereq_(
|
|
9731
|
-
var ReactEventListener = _dereq_(
|
|
9732
|
-
var ReactInjection = _dereq_(
|
|
10242
|
+
var ReactDOMComponent = _dereq_(43);
|
|
10243
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
10244
|
+
var ReactDOMEmptyComponent = _dereq_(48);
|
|
10245
|
+
var ReactDOMTreeTraversal = _dereq_(60);
|
|
10246
|
+
var ReactDOMTextComponent = _dereq_(58);
|
|
10247
|
+
var ReactDefaultBatchingStrategy = _dereq_(63);
|
|
10248
|
+
var ReactEventListener = _dereq_(70);
|
|
10249
|
+
var ReactInjection = _dereq_(73);
|
|
9733
10250
|
var ReactReconcileTransaction = _dereq_(92);
|
|
9734
10251
|
var SVGDOMPropertyConfig = _dereq_(108);
|
|
9735
10252
|
var SelectEventPlugin = _dereq_(109);
|
|
@@ -9782,548 +10299,12 @@ function inject() {
|
|
|
9782
10299
|
ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);
|
|
9783
10300
|
|
|
9784
10301
|
ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);
|
|
9785
|
-
|
|
9786
|
-
if ("development" !== 'production') {
|
|
9787
|
-
var url = ExecutionEnvironment.canUseDOM && window.location.href || '';
|
|
9788
|
-
if (/[?&]react_perf\b/.test(url)) {
|
|
9789
|
-
var ReactDefaultPerf = _dereq_(64);
|
|
9790
|
-
ReactDefaultPerf.start();
|
|
9791
|
-
}
|
|
9792
|
-
}
|
|
9793
10302
|
}
|
|
9794
10303
|
|
|
9795
10304
|
module.exports = {
|
|
9796
10305
|
inject: inject
|
|
9797
10306
|
};
|
|
9798
|
-
},{"108":108,"109":109,"110":110,"13":13,"15":15,"
|
|
9799
|
-
/**
|
|
9800
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
9801
|
-
* All rights reserved.
|
|
9802
|
-
*
|
|
9803
|
-
* This source code is licensed under the BSD-style license found in the
|
|
9804
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
9805
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
9806
|
-
*
|
|
9807
|
-
* @providesModule ReactDefaultPerf
|
|
9808
|
-
*/
|
|
9809
|
-
|
|
9810
|
-
'use strict';
|
|
9811
|
-
|
|
9812
|
-
var DOMProperty = _dereq_(10);
|
|
9813
|
-
var ReactDOMComponentTree = _dereq_(44);
|
|
9814
|
-
var ReactDefaultPerfAnalysis = _dereq_(65);
|
|
9815
|
-
var ReactMount = _dereq_(81);
|
|
9816
|
-
var ReactPerf = _dereq_(88);
|
|
9817
|
-
|
|
9818
|
-
var performanceNow = _dereq_(181);
|
|
9819
|
-
var warning = _dereq_(183);
|
|
9820
|
-
|
|
9821
|
-
function roundFloat(val) {
|
|
9822
|
-
return Math.floor(val * 100) / 100;
|
|
9823
|
-
}
|
|
9824
|
-
|
|
9825
|
-
function addValue(obj, key, val) {
|
|
9826
|
-
obj[key] = (obj[key] || 0) + val;
|
|
9827
|
-
}
|
|
9828
|
-
|
|
9829
|
-
// Composite/text components don't have any built-in ID: we have to make our own
|
|
9830
|
-
var compositeIDMap;
|
|
9831
|
-
var compositeIDCounter = 17000;
|
|
9832
|
-
function getIDOfComposite(inst) {
|
|
9833
|
-
if (!compositeIDMap) {
|
|
9834
|
-
compositeIDMap = new WeakMap();
|
|
9835
|
-
}
|
|
9836
|
-
if (compositeIDMap.has(inst)) {
|
|
9837
|
-
return compositeIDMap.get(inst);
|
|
9838
|
-
} else {
|
|
9839
|
-
var id = compositeIDCounter++;
|
|
9840
|
-
compositeIDMap.set(inst, id);
|
|
9841
|
-
return id;
|
|
9842
|
-
}
|
|
9843
|
-
}
|
|
9844
|
-
|
|
9845
|
-
function getID(inst) {
|
|
9846
|
-
if (inst.hasOwnProperty('_rootNodeID')) {
|
|
9847
|
-
return inst._rootNodeID;
|
|
9848
|
-
} else {
|
|
9849
|
-
return getIDOfComposite(inst);
|
|
9850
|
-
}
|
|
9851
|
-
}
|
|
9852
|
-
|
|
9853
|
-
function stripComplexValues(key, value) {
|
|
9854
|
-
if (typeof value !== 'object' || Array.isArray(value) || value == null) {
|
|
9855
|
-
return value;
|
|
9856
|
-
}
|
|
9857
|
-
var prototype = Object.getPrototypeOf(value);
|
|
9858
|
-
if (!prototype || prototype === Object.prototype) {
|
|
9859
|
-
return value;
|
|
9860
|
-
}
|
|
9861
|
-
return '<not serializable>';
|
|
9862
|
-
}
|
|
9863
|
-
|
|
9864
|
-
// This implementation of ReactPerf is going away some time mid 15.x.
|
|
9865
|
-
// While we plan to keep most of the API, the actual format of measurements
|
|
9866
|
-
// will change dramatically. To signal this, we wrap them into an opaque-ish
|
|
9867
|
-
// object to discourage reaching into it until the API stabilizes.
|
|
9868
|
-
function wrapLegacyMeasurements(measurements) {
|
|
9869
|
-
return { __unstable_this_format_will_change: measurements };
|
|
9870
|
-
}
|
|
9871
|
-
function unwrapLegacyMeasurements(measurements) {
|
|
9872
|
-
return measurements && measurements.__unstable_this_format_will_change || measurements;
|
|
9873
|
-
}
|
|
9874
|
-
|
|
9875
|
-
var warnedAboutPrintDOM = false;
|
|
9876
|
-
var warnedAboutGetMeasurementsSummaryMap = false;
|
|
9877
|
-
|
|
9878
|
-
var ReactDefaultPerf = {
|
|
9879
|
-
_allMeasurements: [], // last item in the list is the current one
|
|
9880
|
-
_mountStack: [0],
|
|
9881
|
-
_compositeStack: [],
|
|
9882
|
-
_injected: false,
|
|
9883
|
-
|
|
9884
|
-
start: function () {
|
|
9885
|
-
if (!ReactDefaultPerf._injected) {
|
|
9886
|
-
ReactPerf.injection.injectMeasure(ReactDefaultPerf.measure);
|
|
9887
|
-
}
|
|
9888
|
-
|
|
9889
|
-
ReactDefaultPerf._allMeasurements.length = 0;
|
|
9890
|
-
ReactPerf.enableMeasure = true;
|
|
9891
|
-
},
|
|
9892
|
-
|
|
9893
|
-
stop: function () {
|
|
9894
|
-
ReactPerf.enableMeasure = false;
|
|
9895
|
-
},
|
|
9896
|
-
|
|
9897
|
-
getLastMeasurements: function () {
|
|
9898
|
-
return wrapLegacyMeasurements(ReactDefaultPerf._allMeasurements);
|
|
9899
|
-
},
|
|
9900
|
-
|
|
9901
|
-
printExclusive: function (measurements) {
|
|
9902
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9903
|
-
var summary = ReactDefaultPerfAnalysis.getExclusiveSummary(measurements);
|
|
9904
|
-
console.table(summary.map(function (item) {
|
|
9905
|
-
return {
|
|
9906
|
-
'Component class name': item.componentName,
|
|
9907
|
-
'Total inclusive time (ms)': roundFloat(item.inclusive),
|
|
9908
|
-
'Exclusive mount time (ms)': roundFloat(item.exclusive),
|
|
9909
|
-
'Exclusive render time (ms)': roundFloat(item.render),
|
|
9910
|
-
'Mount time per instance (ms)': roundFloat(item.exclusive / item.count),
|
|
9911
|
-
'Render time per instance (ms)': roundFloat(item.render / item.count),
|
|
9912
|
-
'Instances': item.count
|
|
9913
|
-
};
|
|
9914
|
-
}));
|
|
9915
|
-
// TODO: ReactDefaultPerfAnalysis.getTotalTime() does not return the correct
|
|
9916
|
-
// number.
|
|
9917
|
-
},
|
|
9918
|
-
|
|
9919
|
-
printInclusive: function (measurements) {
|
|
9920
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9921
|
-
var summary = ReactDefaultPerfAnalysis.getInclusiveSummary(measurements);
|
|
9922
|
-
console.table(summary.map(function (item) {
|
|
9923
|
-
return {
|
|
9924
|
-
'Owner > component': item.componentName,
|
|
9925
|
-
'Inclusive time (ms)': roundFloat(item.time),
|
|
9926
|
-
'Instances': item.count
|
|
9927
|
-
};
|
|
9928
|
-
}));
|
|
9929
|
-
console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');
|
|
9930
|
-
},
|
|
9931
|
-
|
|
9932
|
-
getMeasurementsSummaryMap: function (measurements) {
|
|
9933
|
-
"development" !== 'production' ? warning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.') : void 0;
|
|
9934
|
-
warnedAboutGetMeasurementsSummaryMap = true;
|
|
9935
|
-
return ReactDefaultPerf.getWasted(measurements);
|
|
9936
|
-
},
|
|
9937
|
-
|
|
9938
|
-
getWasted: function (measurements) {
|
|
9939
|
-
measurements = unwrapLegacyMeasurements(measurements);
|
|
9940
|
-
var summary = ReactDefaultPerfAnalysis.getInclusiveSummary(measurements, true);
|
|
9941
|
-
return summary.map(function (item) {
|
|
9942
|
-
return {
|
|
9943
|
-
'Owner > component': item.componentName,
|
|
9944
|
-
'Wasted time (ms)': item.time,
|
|
9945
|
-
'Instances': item.count
|
|
9946
|
-
};
|
|
9947
|
-
});
|
|
9948
|
-
},
|
|
9949
|
-
|
|
9950
|
-
printWasted: function (measurements) {
|
|
9951
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9952
|
-
console.table(ReactDefaultPerf.getWasted(measurements));
|
|
9953
|
-
console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');
|
|
9954
|
-
},
|
|
9955
|
-
|
|
9956
|
-
printDOM: function (measurements) {
|
|
9957
|
-
"development" !== 'production' ? warning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.') : void 0;
|
|
9958
|
-
warnedAboutPrintDOM = true;
|
|
9959
|
-
return ReactDefaultPerf.printOperations(measurements);
|
|
9960
|
-
},
|
|
9961
|
-
|
|
9962
|
-
printOperations: function (measurements) {
|
|
9963
|
-
measurements = unwrapLegacyMeasurements(measurements || ReactDefaultPerf._allMeasurements);
|
|
9964
|
-
var summary = ReactDefaultPerfAnalysis.getDOMSummary(measurements);
|
|
9965
|
-
console.table(summary.map(function (item) {
|
|
9966
|
-
var result = {};
|
|
9967
|
-
result[DOMProperty.ID_ATTRIBUTE_NAME] = item.id;
|
|
9968
|
-
result.type = item.type;
|
|
9969
|
-
result.args = JSON.stringify(item.args, stripComplexValues);
|
|
9970
|
-
return result;
|
|
9971
|
-
}));
|
|
9972
|
-
console.log('Total time:', ReactDefaultPerfAnalysis.getTotalTime(measurements).toFixed(2) + ' ms');
|
|
9973
|
-
},
|
|
9974
|
-
|
|
9975
|
-
_recordWrite: function (id, fnName, totalTime, args) {
|
|
9976
|
-
// TODO: totalTime isn't that useful since it doesn't count paints/reflows
|
|
9977
|
-
var entry = ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1];
|
|
9978
|
-
var writes = entry.writes;
|
|
9979
|
-
writes[id] = writes[id] || [];
|
|
9980
|
-
writes[id].push({
|
|
9981
|
-
type: fnName,
|
|
9982
|
-
time: totalTime,
|
|
9983
|
-
args: args
|
|
9984
|
-
});
|
|
9985
|
-
},
|
|
9986
|
-
|
|
9987
|
-
measure: function (moduleName, fnName, func) {
|
|
9988
|
-
return function () {
|
|
9989
|
-
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
9990
|
-
args[_key] = arguments[_key];
|
|
9991
|
-
}
|
|
9992
|
-
|
|
9993
|
-
var totalTime;
|
|
9994
|
-
var rv;
|
|
9995
|
-
var start;
|
|
9996
|
-
|
|
9997
|
-
var entry = ReactDefaultPerf._allMeasurements[ReactDefaultPerf._allMeasurements.length - 1];
|
|
9998
|
-
|
|
9999
|
-
if (fnName === '_renderNewRootComponent' || fnName === 'flushBatchedUpdates') {
|
|
10000
|
-
// A "measurement" is a set of metrics recorded for each flush. We want
|
|
10001
|
-
// to group the metrics for a given flush together so we can look at the
|
|
10002
|
-
// components that rendered and the DOM operations that actually
|
|
10003
|
-
// happened to determine the amount of "wasted work" performed.
|
|
10004
|
-
ReactDefaultPerf._allMeasurements.push(entry = {
|
|
10005
|
-
exclusive: {},
|
|
10006
|
-
inclusive: {},
|
|
10007
|
-
render: {},
|
|
10008
|
-
counts: {},
|
|
10009
|
-
writes: {},
|
|
10010
|
-
displayNames: {},
|
|
10011
|
-
hierarchy: {},
|
|
10012
|
-
totalTime: 0,
|
|
10013
|
-
created: {}
|
|
10014
|
-
});
|
|
10015
|
-
start = performanceNow();
|
|
10016
|
-
rv = func.apply(this, args);
|
|
10017
|
-
entry.totalTime = performanceNow() - start;
|
|
10018
|
-
return rv;
|
|
10019
|
-
} else if (fnName === '_mountImageIntoNode' || moduleName === 'ReactDOMIDOperations' || moduleName === 'CSSPropertyOperations' || moduleName === 'DOMChildrenOperations' || moduleName === 'DOMPropertyOperations' || moduleName === 'ReactComponentBrowserEnvironment') {
|
|
10020
|
-
start = performanceNow();
|
|
10021
|
-
rv = func.apply(this, args);
|
|
10022
|
-
totalTime = performanceNow() - start;
|
|
10023
|
-
|
|
10024
|
-
if (fnName === '_mountImageIntoNode') {
|
|
10025
|
-
ReactDefaultPerf._recordWrite('', fnName, totalTime, args[0]);
|
|
10026
|
-
} else if (fnName === 'dangerouslyProcessChildrenUpdates') {
|
|
10027
|
-
// special format
|
|
10028
|
-
args[1].forEach(function (update) {
|
|
10029
|
-
var writeArgs = {};
|
|
10030
|
-
if (update.fromIndex !== null) {
|
|
10031
|
-
writeArgs.fromIndex = update.fromIndex;
|
|
10032
|
-
}
|
|
10033
|
-
if (update.toIndex !== null) {
|
|
10034
|
-
writeArgs.toIndex = update.toIndex;
|
|
10035
|
-
}
|
|
10036
|
-
if (update.content !== null) {
|
|
10037
|
-
writeArgs.content = update.content;
|
|
10038
|
-
}
|
|
10039
|
-
ReactDefaultPerf._recordWrite(args[0]._rootNodeID, update.type, totalTime, writeArgs);
|
|
10040
|
-
});
|
|
10041
|
-
} else {
|
|
10042
|
-
// basic format
|
|
10043
|
-
var id = args[0];
|
|
10044
|
-
if (moduleName === 'EventPluginHub') {
|
|
10045
|
-
id = id._rootNodeID;
|
|
10046
|
-
} else if (fnName === 'replaceNodeWithMarkup') {
|
|
10047
|
-
// Old node is already unmounted; can't get its instance
|
|
10048
|
-
id = ReactDOMComponentTree.getInstanceFromNode(args[1].node)._rootNodeID;
|
|
10049
|
-
} else if (fnName === 'replaceDelimitedText') {
|
|
10050
|
-
id = getID(ReactDOMComponentTree.getInstanceFromNode(args[0]));
|
|
10051
|
-
} else if (typeof id === 'object') {
|
|
10052
|
-
id = getID(ReactDOMComponentTree.getInstanceFromNode(args[0]));
|
|
10053
|
-
}
|
|
10054
|
-
ReactDefaultPerf._recordWrite(id, fnName, totalTime, Array.prototype.slice.call(args, 1));
|
|
10055
|
-
}
|
|
10056
|
-
return rv;
|
|
10057
|
-
} else if (moduleName === 'ReactCompositeComponent' && (fnName === 'mountComponent' || fnName === 'updateComponent' || // TODO: receiveComponent()?
|
|
10058
|
-
fnName === '_renderValidatedComponent')) {
|
|
10059
|
-
|
|
10060
|
-
if (this._currentElement.type === ReactMount.TopLevelWrapper) {
|
|
10061
|
-
return func.apply(this, args);
|
|
10062
|
-
}
|
|
10063
|
-
|
|
10064
|
-
var rootNodeID = getIDOfComposite(this);
|
|
10065
|
-
var isRender = fnName === '_renderValidatedComponent';
|
|
10066
|
-
var isMount = fnName === 'mountComponent';
|
|
10067
|
-
|
|
10068
|
-
var mountStack = ReactDefaultPerf._mountStack;
|
|
10069
|
-
|
|
10070
|
-
if (isRender) {
|
|
10071
|
-
addValue(entry.counts, rootNodeID, 1);
|
|
10072
|
-
} else if (isMount) {
|
|
10073
|
-
entry.created[rootNodeID] = true;
|
|
10074
|
-
mountStack.push(0);
|
|
10075
|
-
}
|
|
10076
|
-
|
|
10077
|
-
ReactDefaultPerf._compositeStack.push(rootNodeID);
|
|
10078
|
-
|
|
10079
|
-
start = performanceNow();
|
|
10080
|
-
rv = func.apply(this, args);
|
|
10081
|
-
totalTime = performanceNow() - start;
|
|
10082
|
-
|
|
10083
|
-
ReactDefaultPerf._compositeStack.pop();
|
|
10084
|
-
|
|
10085
|
-
if (isRender) {
|
|
10086
|
-
addValue(entry.render, rootNodeID, totalTime);
|
|
10087
|
-
} else if (isMount) {
|
|
10088
|
-
var subMountTime = mountStack.pop();
|
|
10089
|
-
mountStack[mountStack.length - 1] += totalTime;
|
|
10090
|
-
addValue(entry.exclusive, rootNodeID, totalTime - subMountTime);
|
|
10091
|
-
addValue(entry.inclusive, rootNodeID, totalTime);
|
|
10092
|
-
} else {
|
|
10093
|
-
addValue(entry.inclusive, rootNodeID, totalTime);
|
|
10094
|
-
}
|
|
10095
|
-
|
|
10096
|
-
entry.displayNames[rootNodeID] = {
|
|
10097
|
-
current: this.getName(),
|
|
10098
|
-
owner: this._currentElement._owner ? this._currentElement._owner.getName() : '<root>'
|
|
10099
|
-
};
|
|
10100
|
-
|
|
10101
|
-
return rv;
|
|
10102
|
-
} else if ((moduleName === 'ReactDOMComponent' || moduleName === 'ReactDOMTextComponent') && (fnName === 'mountComponent' || fnName === 'receiveComponent')) {
|
|
10103
|
-
|
|
10104
|
-
rv = func.apply(this, args);
|
|
10105
|
-
entry.hierarchy[getID(this)] = ReactDefaultPerf._compositeStack.slice();
|
|
10106
|
-
return rv;
|
|
10107
|
-
} else {
|
|
10108
|
-
return func.apply(this, args);
|
|
10109
|
-
}
|
|
10110
|
-
};
|
|
10111
|
-
}
|
|
10112
|
-
};
|
|
10113
|
-
|
|
10114
|
-
module.exports = ReactDefaultPerf;
|
|
10115
|
-
},{"10":10,"181":181,"183":183,"44":44,"65":65,"81":81,"88":88}],65:[function(_dereq_,module,exports){
|
|
10116
|
-
/**
|
|
10117
|
-
* Copyright 2013-present, Facebook, Inc.
|
|
10118
|
-
* All rights reserved.
|
|
10119
|
-
*
|
|
10120
|
-
* This source code is licensed under the BSD-style license found in the
|
|
10121
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
10122
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
10123
|
-
*
|
|
10124
|
-
* @providesModule ReactDefaultPerfAnalysis
|
|
10125
|
-
*/
|
|
10126
|
-
|
|
10127
|
-
'use strict';
|
|
10128
|
-
|
|
10129
|
-
// Don't try to save users less than 1.2ms (a number I made up)
|
|
10130
|
-
|
|
10131
|
-
var _assign = _dereq_(184);
|
|
10132
|
-
|
|
10133
|
-
var DONT_CARE_THRESHOLD = 1.2;
|
|
10134
|
-
var DOM_OPERATION_TYPES = {
|
|
10135
|
-
'_mountImageIntoNode': 'set innerHTML',
|
|
10136
|
-
INSERT_MARKUP: 'set innerHTML',
|
|
10137
|
-
MOVE_EXISTING: 'move',
|
|
10138
|
-
REMOVE_NODE: 'remove',
|
|
10139
|
-
SET_MARKUP: 'set innerHTML',
|
|
10140
|
-
TEXT_CONTENT: 'set textContent',
|
|
10141
|
-
'setValueForProperty': 'update attribute',
|
|
10142
|
-
'setValueForAttribute': 'update attribute',
|
|
10143
|
-
'deleteValueForProperty': 'remove attribute',
|
|
10144
|
-
'setValueForStyles': 'update styles',
|
|
10145
|
-
'replaceNodeWithMarkup': 'replace',
|
|
10146
|
-
'replaceDelimitedText': 'replace'
|
|
10147
|
-
};
|
|
10148
|
-
|
|
10149
|
-
function getTotalTime(measurements) {
|
|
10150
|
-
// TODO: return number of DOM ops? could be misleading.
|
|
10151
|
-
// TODO: measure dropped frames after reconcile?
|
|
10152
|
-
// TODO: log total time of each reconcile and the top-level component
|
|
10153
|
-
// class that triggered it.
|
|
10154
|
-
var totalTime = 0;
|
|
10155
|
-
for (var i = 0; i < measurements.length; i++) {
|
|
10156
|
-
var measurement = measurements[i];
|
|
10157
|
-
totalTime += measurement.totalTime;
|
|
10158
|
-
}
|
|
10159
|
-
return totalTime;
|
|
10160
|
-
}
|
|
10161
|
-
|
|
10162
|
-
function getDOMSummary(measurements) {
|
|
10163
|
-
var items = [];
|
|
10164
|
-
measurements.forEach(function (measurement) {
|
|
10165
|
-
Object.keys(measurement.writes).forEach(function (id) {
|
|
10166
|
-
measurement.writes[id].forEach(function (write) {
|
|
10167
|
-
items.push({
|
|
10168
|
-
id: id,
|
|
10169
|
-
type: DOM_OPERATION_TYPES[write.type] || write.type,
|
|
10170
|
-
args: write.args
|
|
10171
|
-
});
|
|
10172
|
-
});
|
|
10173
|
-
});
|
|
10174
|
-
});
|
|
10175
|
-
return items;
|
|
10176
|
-
}
|
|
10177
|
-
|
|
10178
|
-
function getExclusiveSummary(measurements) {
|
|
10179
|
-
var candidates = {};
|
|
10180
|
-
var displayName;
|
|
10181
|
-
|
|
10182
|
-
for (var i = 0; i < measurements.length; i++) {
|
|
10183
|
-
var measurement = measurements[i];
|
|
10184
|
-
var allIDs = _assign({}, measurement.exclusive, measurement.inclusive);
|
|
10185
|
-
|
|
10186
|
-
for (var id in allIDs) {
|
|
10187
|
-
displayName = measurement.displayNames[id].current;
|
|
10188
|
-
|
|
10189
|
-
candidates[displayName] = candidates[displayName] || {
|
|
10190
|
-
componentName: displayName,
|
|
10191
|
-
inclusive: 0,
|
|
10192
|
-
exclusive: 0,
|
|
10193
|
-
render: 0,
|
|
10194
|
-
count: 0
|
|
10195
|
-
};
|
|
10196
|
-
if (measurement.render[id]) {
|
|
10197
|
-
candidates[displayName].render += measurement.render[id];
|
|
10198
|
-
}
|
|
10199
|
-
if (measurement.exclusive[id]) {
|
|
10200
|
-
candidates[displayName].exclusive += measurement.exclusive[id];
|
|
10201
|
-
}
|
|
10202
|
-
if (measurement.inclusive[id]) {
|
|
10203
|
-
candidates[displayName].inclusive += measurement.inclusive[id];
|
|
10204
|
-
}
|
|
10205
|
-
if (measurement.counts[id]) {
|
|
10206
|
-
candidates[displayName].count += measurement.counts[id];
|
|
10207
|
-
}
|
|
10208
|
-
}
|
|
10209
|
-
}
|
|
10210
|
-
|
|
10211
|
-
// Now make a sorted array with the results.
|
|
10212
|
-
var arr = [];
|
|
10213
|
-
for (displayName in candidates) {
|
|
10214
|
-
if (candidates[displayName].exclusive >= DONT_CARE_THRESHOLD) {
|
|
10215
|
-
arr.push(candidates[displayName]);
|
|
10216
|
-
}
|
|
10217
|
-
}
|
|
10218
|
-
|
|
10219
|
-
arr.sort(function (a, b) {
|
|
10220
|
-
return b.exclusive - a.exclusive;
|
|
10221
|
-
});
|
|
10222
|
-
|
|
10223
|
-
return arr;
|
|
10224
|
-
}
|
|
10225
|
-
|
|
10226
|
-
function getInclusiveSummary(measurements, onlyClean) {
|
|
10227
|
-
var candidates = {};
|
|
10228
|
-
var inclusiveKey;
|
|
10229
|
-
|
|
10230
|
-
for (var i = 0; i < measurements.length; i++) {
|
|
10231
|
-
var measurement = measurements[i];
|
|
10232
|
-
var allIDs = _assign({}, measurement.exclusive, measurement.inclusive);
|
|
10233
|
-
var cleanComponents;
|
|
10234
|
-
|
|
10235
|
-
if (onlyClean) {
|
|
10236
|
-
cleanComponents = getUnchangedComponents(measurement);
|
|
10237
|
-
}
|
|
10238
|
-
|
|
10239
|
-
for (var id in allIDs) {
|
|
10240
|
-
if (onlyClean && !cleanComponents[id]) {
|
|
10241
|
-
continue;
|
|
10242
|
-
}
|
|
10243
|
-
|
|
10244
|
-
var displayName = measurement.displayNames[id];
|
|
10245
|
-
|
|
10246
|
-
// Inclusive time is not useful for many components without knowing where
|
|
10247
|
-
// they are instantiated. So we aggregate inclusive time with both the
|
|
10248
|
-
// owner and current displayName as the key.
|
|
10249
|
-
inclusiveKey = displayName.owner + ' > ' + displayName.current;
|
|
10250
|
-
|
|
10251
|
-
candidates[inclusiveKey] = candidates[inclusiveKey] || {
|
|
10252
|
-
componentName: inclusiveKey,
|
|
10253
|
-
time: 0,
|
|
10254
|
-
count: 0
|
|
10255
|
-
};
|
|
10256
|
-
|
|
10257
|
-
if (measurement.inclusive[id]) {
|
|
10258
|
-
candidates[inclusiveKey].time += measurement.inclusive[id];
|
|
10259
|
-
}
|
|
10260
|
-
if (measurement.counts[id]) {
|
|
10261
|
-
candidates[inclusiveKey].count += measurement.counts[id];
|
|
10262
|
-
}
|
|
10263
|
-
}
|
|
10264
|
-
}
|
|
10265
|
-
|
|
10266
|
-
// Now make a sorted array with the results.
|
|
10267
|
-
var arr = [];
|
|
10268
|
-
for (inclusiveKey in candidates) {
|
|
10269
|
-
if (candidates[inclusiveKey].time >= DONT_CARE_THRESHOLD) {
|
|
10270
|
-
arr.push(candidates[inclusiveKey]);
|
|
10271
|
-
}
|
|
10272
|
-
}
|
|
10273
|
-
|
|
10274
|
-
arr.sort(function (a, b) {
|
|
10275
|
-
return b.time - a.time;
|
|
10276
|
-
});
|
|
10277
|
-
|
|
10278
|
-
return arr;
|
|
10279
|
-
}
|
|
10280
|
-
|
|
10281
|
-
function getUnchangedComponents(measurement) {
|
|
10282
|
-
// For a given reconcile, look at which components did not actually
|
|
10283
|
-
// render anything to the DOM and return a mapping of their ID to
|
|
10284
|
-
// the amount of time it took to render the entire subtree.
|
|
10285
|
-
var cleanComponents = {};
|
|
10286
|
-
var writes = measurement.writes;
|
|
10287
|
-
var hierarchy = measurement.hierarchy;
|
|
10288
|
-
var dirtyComposites = {};
|
|
10289
|
-
Object.keys(writes).forEach(function (id) {
|
|
10290
|
-
writes[id].forEach(function (write) {
|
|
10291
|
-
// Root mounting (innerHTML set) is recorded with an ID of ''
|
|
10292
|
-
if (id !== '' && hierarchy.hasOwnProperty(id)) {
|
|
10293
|
-
hierarchy[id].forEach(function (c) {
|
|
10294
|
-
return dirtyComposites[c] = true;
|
|
10295
|
-
});
|
|
10296
|
-
}
|
|
10297
|
-
});
|
|
10298
|
-
});
|
|
10299
|
-
var allIDs = _assign({}, measurement.exclusive, measurement.inclusive);
|
|
10300
|
-
|
|
10301
|
-
for (var id in allIDs) {
|
|
10302
|
-
var isDirty = false;
|
|
10303
|
-
// See if any of the DOM operations applied to this component's subtree.
|
|
10304
|
-
if (dirtyComposites[id]) {
|
|
10305
|
-
isDirty = true;
|
|
10306
|
-
}
|
|
10307
|
-
// check if component newly created
|
|
10308
|
-
if (measurement.created[id]) {
|
|
10309
|
-
isDirty = true;
|
|
10310
|
-
}
|
|
10311
|
-
if (!isDirty && measurement.counts[id] > 0) {
|
|
10312
|
-
cleanComponents[id] = true;
|
|
10313
|
-
}
|
|
10314
|
-
}
|
|
10315
|
-
return cleanComponents;
|
|
10316
|
-
}
|
|
10317
|
-
|
|
10318
|
-
var ReactDefaultPerfAnalysis = {
|
|
10319
|
-
getExclusiveSummary: getExclusiveSummary,
|
|
10320
|
-
getInclusiveSummary: getInclusiveSummary,
|
|
10321
|
-
getDOMSummary: getDOMSummary,
|
|
10322
|
-
getTotalTime: getTotalTime
|
|
10323
|
-
};
|
|
10324
|
-
|
|
10325
|
-
module.exports = ReactDefaultPerfAnalysis;
|
|
10326
|
-
},{"184":184}],66:[function(_dereq_,module,exports){
|
|
10307
|
+
},{"108":108,"109":109,"110":110,"13":13,"15":15,"2":2,"22":22,"35":35,"43":43,"45":45,"48":48,"58":58,"6":6,"60":60,"63":63,"70":70,"73":73,"92":92}],65:[function(_dereq_,module,exports){
|
|
10327
10308
|
/**
|
|
10328
10309
|
* Copyright 2014-present, Facebook, Inc.
|
|
10329
10310
|
* All rights reserved.
|
|
@@ -10339,7 +10320,7 @@ module.exports = ReactDefaultPerfAnalysis;
|
|
|
10339
10320
|
|
|
10340
10321
|
var _assign = _dereq_(184);
|
|
10341
10322
|
|
|
10342
|
-
var ReactCurrentOwner = _dereq_(
|
|
10323
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
10343
10324
|
|
|
10344
10325
|
var warning = _dereq_(183);
|
|
10345
10326
|
var canDefineProperty = _dereq_(128);
|
|
@@ -10439,6 +10420,10 @@ var ReactElement = function (type, key, ref, self, source, owner, props) {
|
|
|
10439
10420
|
return element;
|
|
10440
10421
|
};
|
|
10441
10422
|
|
|
10423
|
+
/**
|
|
10424
|
+
* Create and return a new ReactElement of the given type.
|
|
10425
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createelement
|
|
10426
|
+
*/
|
|
10442
10427
|
ReactElement.createElement = function (type, config, children) {
|
|
10443
10428
|
var propName;
|
|
10444
10429
|
|
|
@@ -10452,6 +10437,11 @@ ReactElement.createElement = function (type, config, children) {
|
|
|
10452
10437
|
|
|
10453
10438
|
if (config != null) {
|
|
10454
10439
|
if ("development" !== 'production') {
|
|
10440
|
+
"development" !== 'production' ? warning(
|
|
10441
|
+
/* eslint-disable no-proto */
|
|
10442
|
+
config.__proto__ == null || config.__proto__ === Object.prototype,
|
|
10443
|
+
/* eslint-enable no-proto */
|
|
10444
|
+
'React.createElement(...): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0;
|
|
10455
10445
|
ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref;
|
|
10456
10446
|
key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key;
|
|
10457
10447
|
} else {
|
|
@@ -10523,6 +10513,10 @@ ReactElement.createElement = function (type, config, children) {
|
|
|
10523
10513
|
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
|
10524
10514
|
};
|
|
10525
10515
|
|
|
10516
|
+
/**
|
|
10517
|
+
* Return a function that produces ReactElements of a given type.
|
|
10518
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory
|
|
10519
|
+
*/
|
|
10526
10520
|
ReactElement.createFactory = function (type) {
|
|
10527
10521
|
var factory = ReactElement.createElement.bind(null, type);
|
|
10528
10522
|
// Expose the type on the factory and the prototype so that it can be
|
|
@@ -10540,6 +10534,10 @@ ReactElement.cloneAndReplaceKey = function (oldElement, newKey) {
|
|
|
10540
10534
|
return newElement;
|
|
10541
10535
|
};
|
|
10542
10536
|
|
|
10537
|
+
/**
|
|
10538
|
+
* Clone and return a new ReactElement using element as the starting point.
|
|
10539
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement
|
|
10540
|
+
*/
|
|
10543
10541
|
ReactElement.cloneElement = function (element, config, children) {
|
|
10544
10542
|
var propName;
|
|
10545
10543
|
|
|
@@ -10560,6 +10558,13 @@ ReactElement.cloneElement = function (element, config, children) {
|
|
|
10560
10558
|
var owner = element._owner;
|
|
10561
10559
|
|
|
10562
10560
|
if (config != null) {
|
|
10561
|
+
if ("development" !== 'production') {
|
|
10562
|
+
"development" !== 'production' ? warning(
|
|
10563
|
+
/* eslint-disable no-proto */
|
|
10564
|
+
config.__proto__ == null || config.__proto__ === Object.prototype,
|
|
10565
|
+
/* eslint-enable no-proto */
|
|
10566
|
+
'React.cloneElement(...): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0;
|
|
10567
|
+
}
|
|
10563
10568
|
if (config.ref !== undefined) {
|
|
10564
10569
|
// Silently steal the ref from the parent.
|
|
10565
10570
|
ref = config.ref;
|
|
@@ -10602,6 +10607,8 @@ ReactElement.cloneElement = function (element, config, children) {
|
|
|
10602
10607
|
};
|
|
10603
10608
|
|
|
10604
10609
|
/**
|
|
10610
|
+
* Verifies the object is a ReactElement.
|
|
10611
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement
|
|
10605
10612
|
* @param {?object} object
|
|
10606
10613
|
* @return {boolean} True if `object` is a valid component.
|
|
10607
10614
|
* @final
|
|
@@ -10611,7 +10618,7 @@ ReactElement.isValidElement = function (object) {
|
|
|
10611
10618
|
};
|
|
10612
10619
|
|
|
10613
10620
|
module.exports = ReactElement;
|
|
10614
|
-
},{"128":128,"183":183,"184":184,"
|
|
10621
|
+
},{"128":128,"183":183,"184":184,"40":40}],66:[function(_dereq_,module,exports){
|
|
10615
10622
|
/**
|
|
10616
10623
|
* Copyright 2014-present, Facebook, Inc.
|
|
10617
10624
|
* All rights reserved.
|
|
@@ -10632,10 +10639,10 @@ module.exports = ReactElement;
|
|
|
10632
10639
|
|
|
10633
10640
|
'use strict';
|
|
10634
10641
|
|
|
10635
|
-
var ReactElement = _dereq_(
|
|
10642
|
+
var ReactElement = _dereq_(65);
|
|
10636
10643
|
var ReactPropTypeLocations = _dereq_(90);
|
|
10637
10644
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
10638
|
-
var ReactCurrentOwner = _dereq_(
|
|
10645
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
10639
10646
|
|
|
10640
10647
|
var canDefineProperty = _dereq_(128);
|
|
10641
10648
|
var getIteratorFn = _dereq_(139);
|
|
@@ -10893,7 +10900,7 @@ var ReactElementValidator = {
|
|
|
10893
10900
|
};
|
|
10894
10901
|
|
|
10895
10902
|
module.exports = ReactElementValidator;
|
|
10896
|
-
},{"128":128,"139":139,"173":173,"183":183,"
|
|
10903
|
+
},{"128":128,"139":139,"173":173,"183":183,"40":40,"65":65,"89":89,"90":90}],67:[function(_dereq_,module,exports){
|
|
10897
10904
|
/**
|
|
10898
10905
|
* Copyright 2014-present, Facebook, Inc.
|
|
10899
10906
|
* All rights reserved.
|
|
@@ -10924,7 +10931,7 @@ var ReactEmptyComponent = {
|
|
|
10924
10931
|
ReactEmptyComponent.injection = ReactEmptyComponentInjection;
|
|
10925
10932
|
|
|
10926
10933
|
module.exports = ReactEmptyComponent;
|
|
10927
|
-
},{}],
|
|
10934
|
+
},{}],68:[function(_dereq_,module,exports){
|
|
10928
10935
|
/**
|
|
10929
10936
|
* Copyright 2013-present, Facebook, Inc.
|
|
10930
10937
|
* All rights reserved.
|
|
@@ -10938,6 +10945,8 @@ module.exports = ReactEmptyComponent;
|
|
|
10938
10945
|
|
|
10939
10946
|
'use strict';
|
|
10940
10947
|
|
|
10948
|
+
var SyntheticDragEvent = _dereq_(114);
|
|
10949
|
+
|
|
10941
10950
|
var caughtError = null;
|
|
10942
10951
|
|
|
10943
10952
|
/**
|
|
@@ -10982,26 +10991,74 @@ var ReactErrorUtils = {
|
|
|
10982
10991
|
};
|
|
10983
10992
|
|
|
10984
10993
|
if ("development" !== 'production') {
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
|
|
10992
|
-
|
|
10993
|
-
|
|
10994
|
-
|
|
10995
|
-
|
|
10996
|
-
|
|
10997
|
-
|
|
10998
|
-
|
|
10994
|
+
var fakeNode;
|
|
10995
|
+
var cacheCanWrapEvent;
|
|
10996
|
+
|
|
10997
|
+
(function () {
|
|
10998
|
+
|
|
10999
|
+
/**
|
|
11000
|
+
* IE and Edge don't allow access to the DataTransfer.dropEffect property when
|
|
11001
|
+
* it's wrapped in another event. This function detects whether we're in an
|
|
11002
|
+
* environment that behaves this way.
|
|
11003
|
+
*
|
|
11004
|
+
* @param {*} ev Event that is being tested
|
|
11005
|
+
*/
|
|
11006
|
+
|
|
11007
|
+
var canWrapEvent = function (ev) {
|
|
11008
|
+
if (!(ev instanceof SyntheticDragEvent)) {
|
|
11009
|
+
return true;
|
|
11010
|
+
} else if (cacheCanWrapEvent !== null) {
|
|
11011
|
+
return cacheCanWrapEvent;
|
|
11012
|
+
}
|
|
11013
|
+
|
|
11014
|
+
var canAccessDropEffect = false;
|
|
11015
|
+
function handleWrappedEvent() {
|
|
11016
|
+
try {
|
|
11017
|
+
ev.dataTransfer.dropEffect; // eslint-disable-line no-unused-expressions
|
|
11018
|
+
canAccessDropEffect = true;
|
|
11019
|
+
} catch (e) {}
|
|
11020
|
+
}
|
|
11021
|
+
|
|
11022
|
+
var wrappedEventName = 'react-wrappeddragevent';
|
|
11023
|
+
var wrappedEvent = document.createEvent('Event');
|
|
11024
|
+
wrappedEvent.initEvent(wrappedEventName, false, false);
|
|
11025
|
+
fakeNode.addEventListener(wrappedEventName, handleWrappedEvent, false);
|
|
11026
|
+
fakeNode.dispatchEvent(wrappedEvent);
|
|
11027
|
+
fakeNode.removeEventListener(wrappedEventName, handleWrappedEvent, false);
|
|
11028
|
+
|
|
11029
|
+
cacheCanWrapEvent = canAccessDropEffect;
|
|
11030
|
+
return canAccessDropEffect;
|
|
10999
11031
|
};
|
|
11000
|
-
|
|
11032
|
+
|
|
11033
|
+
/**
|
|
11034
|
+
* To help development we can get better devtools integration by simulating a
|
|
11035
|
+
* real browser event.
|
|
11036
|
+
*/
|
|
11037
|
+
if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {
|
|
11038
|
+
fakeNode = document.createElement('react');
|
|
11039
|
+
|
|
11040
|
+
ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {
|
|
11041
|
+
if (!canWrapEvent(a)) {
|
|
11042
|
+
invokeGuardedCallback(name, func, a, b);
|
|
11043
|
+
return;
|
|
11044
|
+
}
|
|
11045
|
+
|
|
11046
|
+
var boundFunc = func.bind(null, a, b);
|
|
11047
|
+
var evtType = 'react-' + name;
|
|
11048
|
+
fakeNode.addEventListener(evtType, boundFunc, false);
|
|
11049
|
+
var evt = document.createEvent('Event');
|
|
11050
|
+
evt.initEvent(evtType, false, false);
|
|
11051
|
+
fakeNode.dispatchEvent(evt);
|
|
11052
|
+
fakeNode.removeEventListener(evtType, boundFunc, false);
|
|
11053
|
+
};
|
|
11054
|
+
}
|
|
11055
|
+
|
|
11056
|
+
cacheCanWrapEvent = null;
|
|
11057
|
+
})();
|
|
11001
11058
|
}
|
|
11002
11059
|
|
|
11003
11060
|
module.exports = ReactErrorUtils;
|
|
11004
|
-
},{}],
|
|
11061
|
+
},{"114":114}],69:[function(_dereq_,module,exports){
|
|
11005
11062
|
/**
|
|
11006
11063
|
* Copyright 2013-present, Facebook, Inc.
|
|
11007
11064
|
* All rights reserved.
|
|
@@ -11035,7 +11092,7 @@ var ReactEventEmitterMixin = {
|
|
|
11035
11092
|
};
|
|
11036
11093
|
|
|
11037
11094
|
module.exports = ReactEventEmitterMixin;
|
|
11038
|
-
},{"17":17}],
|
|
11095
|
+
},{"17":17}],70:[function(_dereq_,module,exports){
|
|
11039
11096
|
/**
|
|
11040
11097
|
* Copyright 2013-present, Facebook, Inc.
|
|
11041
11098
|
* All rights reserved.
|
|
@@ -11054,7 +11111,7 @@ var _assign = _dereq_(184);
|
|
|
11054
11111
|
var EventListener = _dereq_(158);
|
|
11055
11112
|
var ExecutionEnvironment = _dereq_(159);
|
|
11056
11113
|
var PooledClass = _dereq_(26);
|
|
11057
|
-
var ReactDOMComponentTree = _dereq_(
|
|
11114
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
11058
11115
|
var ReactUpdates = _dereq_(104);
|
|
11059
11116
|
|
|
11060
11117
|
var getEventTarget = _dereq_(138);
|
|
@@ -11193,7 +11250,7 @@ var ReactEventListener = {
|
|
|
11193
11250
|
};
|
|
11194
11251
|
|
|
11195
11252
|
module.exports = ReactEventListener;
|
|
11196
|
-
},{"104":104,"138":138,"158":158,"159":159,"170":170,"184":184,"26":26,"
|
|
11253
|
+
},{"104":104,"138":138,"158":158,"159":159,"170":170,"184":184,"26":26,"45":45}],71:[function(_dereq_,module,exports){
|
|
11197
11254
|
/**
|
|
11198
11255
|
* Copyright 2013-present, Facebook, Inc.
|
|
11199
11256
|
* All rights reserved.
|
|
@@ -11215,7 +11272,7 @@ var ReactFeatureFlags = {
|
|
|
11215
11272
|
};
|
|
11216
11273
|
|
|
11217
11274
|
module.exports = ReactFeatureFlags;
|
|
11218
|
-
},{}],
|
|
11275
|
+
},{}],72:[function(_dereq_,module,exports){
|
|
11219
11276
|
/**
|
|
11220
11277
|
* Copyright 2015-present, Facebook, Inc.
|
|
11221
11278
|
* All rights reserved.
|
|
@@ -11230,7 +11287,7 @@ module.exports = ReactFeatureFlags;
|
|
|
11230
11287
|
'use strict';
|
|
11231
11288
|
|
|
11232
11289
|
var ReactChildren = _dereq_(32);
|
|
11233
|
-
var ReactElement = _dereq_(
|
|
11290
|
+
var ReactElement = _dereq_(65);
|
|
11234
11291
|
|
|
11235
11292
|
var emptyFunction = _dereq_(165);
|
|
11236
11293
|
var invariant = _dereq_(173);
|
|
@@ -11249,8 +11306,11 @@ var numericPropertyRegex = /^\d+$/;
|
|
|
11249
11306
|
var warnedAboutNumeric = false;
|
|
11250
11307
|
|
|
11251
11308
|
var ReactFragment = {
|
|
11252
|
-
|
|
11253
|
-
|
|
11309
|
+
/**
|
|
11310
|
+
* Wrap a keyed object in an opaque proxy that warns you if you access any
|
|
11311
|
+
* of its properties.
|
|
11312
|
+
* See https://facebook.github.io/react/docs/create-fragment.html
|
|
11313
|
+
*/
|
|
11254
11314
|
create: function (object) {
|
|
11255
11315
|
if (typeof object !== 'object' || !object || Array.isArray(object)) {
|
|
11256
11316
|
"development" !== 'production' ? warning(false, 'React.addons.createFragment only accepts a single object. Got: %s', object) : void 0;
|
|
@@ -11280,7 +11340,7 @@ var ReactFragment = {
|
|
|
11280
11340
|
};
|
|
11281
11341
|
|
|
11282
11342
|
module.exports = ReactFragment;
|
|
11283
|
-
},{"165":165,"173":173,"183":183,"32":32,"
|
|
11343
|
+
},{"165":165,"173":173,"183":183,"32":32,"65":65}],73:[function(_dereq_,module,exports){
|
|
11284
11344
|
/**
|
|
11285
11345
|
* Copyright 2013-present, Facebook, Inc.
|
|
11286
11346
|
* All rights reserved.
|
|
@@ -11299,10 +11359,9 @@ var EventPluginHub = _dereq_(17);
|
|
|
11299
11359
|
var EventPluginUtils = _dereq_(19);
|
|
11300
11360
|
var ReactComponentEnvironment = _dereq_(36);
|
|
11301
11361
|
var ReactClass = _dereq_(33);
|
|
11302
|
-
var ReactEmptyComponent = _dereq_(
|
|
11362
|
+
var ReactEmptyComponent = _dereq_(67);
|
|
11303
11363
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
11304
|
-
var ReactNativeComponent = _dereq_(
|
|
11305
|
-
var ReactPerf = _dereq_(88);
|
|
11364
|
+
var ReactNativeComponent = _dereq_(83);
|
|
11306
11365
|
var ReactUpdates = _dereq_(104);
|
|
11307
11366
|
|
|
11308
11367
|
var ReactInjection = {
|
|
@@ -11314,12 +11373,11 @@ var ReactInjection = {
|
|
|
11314
11373
|
EventPluginUtils: EventPluginUtils.injection,
|
|
11315
11374
|
EventEmitter: ReactBrowserEventEmitter.injection,
|
|
11316
11375
|
NativeComponent: ReactNativeComponent.injection,
|
|
11317
|
-
Perf: ReactPerf.injection,
|
|
11318
11376
|
Updates: ReactUpdates.injection
|
|
11319
11377
|
};
|
|
11320
11378
|
|
|
11321
11379
|
module.exports = ReactInjection;
|
|
11322
|
-
},{"10":10,"104":104,"17":17,"19":19,"28":28,"33":33,"36":36,"
|
|
11380
|
+
},{"10":10,"104":104,"17":17,"19":19,"28":28,"33":33,"36":36,"67":67,"83":83}],74:[function(_dereq_,module,exports){
|
|
11323
11381
|
/**
|
|
11324
11382
|
* Copyright 2013-present, Facebook, Inc.
|
|
11325
11383
|
* All rights reserved.
|
|
@@ -11333,7 +11391,7 @@ module.exports = ReactInjection;
|
|
|
11333
11391
|
|
|
11334
11392
|
'use strict';
|
|
11335
11393
|
|
|
11336
|
-
var ReactDOMSelection = _dereq_(
|
|
11394
|
+
var ReactDOMSelection = _dereq_(56);
|
|
11337
11395
|
|
|
11338
11396
|
var containsNode = _dereq_(162);
|
|
11339
11397
|
var focusNode = _dereq_(167);
|
|
@@ -11444,7 +11502,7 @@ var ReactInputSelection = {
|
|
|
11444
11502
|
};
|
|
11445
11503
|
|
|
11446
11504
|
module.exports = ReactInputSelection;
|
|
11447
|
-
},{"162":162,"167":167,"168":168,"
|
|
11505
|
+
},{"162":162,"167":167,"168":168,"56":56}],75:[function(_dereq_,module,exports){
|
|
11448
11506
|
/**
|
|
11449
11507
|
* Copyright 2013-present, Facebook, Inc.
|
|
11450
11508
|
* All rights reserved.
|
|
@@ -11493,7 +11551,7 @@ var ReactInstanceMap = {
|
|
|
11493
11551
|
};
|
|
11494
11552
|
|
|
11495
11553
|
module.exports = ReactInstanceMap;
|
|
11496
|
-
},{}],
|
|
11554
|
+
},{}],76:[function(_dereq_,module,exports){
|
|
11497
11555
|
/**
|
|
11498
11556
|
* Copyright 2016-present, Facebook, Inc.
|
|
11499
11557
|
* All rights reserved.
|
|
@@ -11507,10 +11565,10 @@ module.exports = ReactInstanceMap;
|
|
|
11507
11565
|
|
|
11508
11566
|
'use strict';
|
|
11509
11567
|
|
|
11510
|
-
var ReactDebugTool = _dereq_(
|
|
11568
|
+
var ReactDebugTool = _dereq_(62);
|
|
11511
11569
|
|
|
11512
11570
|
module.exports = { debugTool: ReactDebugTool };
|
|
11513
|
-
},{"
|
|
11571
|
+
},{"62":62}],77:[function(_dereq_,module,exports){
|
|
11514
11572
|
/**
|
|
11515
11573
|
* Copyright 2016-present, Facebook, Inc.
|
|
11516
11574
|
* All rights reserved.
|
|
@@ -11547,7 +11605,7 @@ var ReactInvalidSetStateWarningDevTool = {
|
|
|
11547
11605
|
};
|
|
11548
11606
|
|
|
11549
11607
|
module.exports = ReactInvalidSetStateWarningDevTool;
|
|
11550
|
-
},{"183":183}],
|
|
11608
|
+
},{"183":183}],78:[function(_dereq_,module,exports){
|
|
11551
11609
|
/**
|
|
11552
11610
|
* Copyright 2013-present, Facebook, Inc.
|
|
11553
11611
|
* All rights reserved.
|
|
@@ -11587,6 +11645,9 @@ module.exports = ReactInvalidSetStateWarningDevTool;
|
|
|
11587
11645
|
var React = _dereq_(27);
|
|
11588
11646
|
|
|
11589
11647
|
/**
|
|
11648
|
+
* Deprecated: An an easy way to express two-way binding with React.
|
|
11649
|
+
* See https://facebook.github.io/react/docs/two-way-binding-helpers.html
|
|
11650
|
+
*
|
|
11590
11651
|
* @param {*} value current value of the link
|
|
11591
11652
|
* @param {function} requestChange callback to request a change
|
|
11592
11653
|
*/
|
|
@@ -11616,7 +11677,7 @@ ReactLink.PropTypes = {
|
|
|
11616
11677
|
};
|
|
11617
11678
|
|
|
11618
11679
|
module.exports = ReactLink;
|
|
11619
|
-
},{"27":27}],
|
|
11680
|
+
},{"27":27}],79:[function(_dereq_,module,exports){
|
|
11620
11681
|
/**
|
|
11621
11682
|
* Copyright 2013-present, Facebook, Inc.
|
|
11622
11683
|
* All rights reserved.
|
|
@@ -11667,7 +11728,7 @@ var ReactMarkupChecksum = {
|
|
|
11667
11728
|
};
|
|
11668
11729
|
|
|
11669
11730
|
module.exports = ReactMarkupChecksum;
|
|
11670
|
-
},{"127":127}],
|
|
11731
|
+
},{"127":127}],80:[function(_dereq_,module,exports){
|
|
11671
11732
|
/**
|
|
11672
11733
|
* Copyright 2013-present, Facebook, Inc.
|
|
11673
11734
|
* All rights reserved.
|
|
@@ -11684,15 +11745,14 @@ module.exports = ReactMarkupChecksum;
|
|
|
11684
11745
|
var DOMLazyTree = _dereq_(8);
|
|
11685
11746
|
var DOMProperty = _dereq_(10);
|
|
11686
11747
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
11687
|
-
var ReactCurrentOwner = _dereq_(
|
|
11688
|
-
var ReactDOMComponentTree = _dereq_(
|
|
11689
|
-
var ReactDOMContainerInfo = _dereq_(
|
|
11690
|
-
var ReactDOMFeatureFlags = _dereq_(
|
|
11691
|
-
var ReactElement = _dereq_(
|
|
11692
|
-
var ReactFeatureFlags = _dereq_(
|
|
11693
|
-
var ReactInstrumentation = _dereq_(
|
|
11694
|
-
var ReactMarkupChecksum = _dereq_(
|
|
11695
|
-
var ReactPerf = _dereq_(88);
|
|
11748
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
11749
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
11750
|
+
var ReactDOMContainerInfo = _dereq_(46);
|
|
11751
|
+
var ReactDOMFeatureFlags = _dereq_(50);
|
|
11752
|
+
var ReactElement = _dereq_(65);
|
|
11753
|
+
var ReactFeatureFlags = _dereq_(71);
|
|
11754
|
+
var ReactInstrumentation = _dereq_(76);
|
|
11755
|
+
var ReactMarkupChecksum = _dereq_(79);
|
|
11696
11756
|
var ReactReconciler = _dereq_(93);
|
|
11697
11757
|
var ReactUpdateQueue = _dereq_(103);
|
|
11698
11758
|
var ReactUpdates = _dereq_(104);
|
|
@@ -11930,6 +11990,10 @@ var ReactMount = {
|
|
|
11930
11990
|
* @return {ReactComponent} nextComponent
|
|
11931
11991
|
*/
|
|
11932
11992
|
_renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {
|
|
11993
|
+
if ("development" !== 'production') {
|
|
11994
|
+
ReactInstrumentation.debugTool.onBeginFlush();
|
|
11995
|
+
}
|
|
11996
|
+
|
|
11933
11997
|
// Various parts of our code (such as ReactCompositeComponent's
|
|
11934
11998
|
// _renderValidatedComponent) assume that calls to render aren't nested;
|
|
11935
11999
|
// verify that that's the case.
|
|
@@ -11940,6 +12004,12 @@ var ReactMount = {
|
|
|
11940
12004
|
ReactBrowserEventEmitter.ensureScrollValueMonitoring();
|
|
11941
12005
|
var componentInstance = instantiateReactComponent(nextElement);
|
|
11942
12006
|
|
|
12007
|
+
if ("development" !== 'production') {
|
|
12008
|
+
// Mute future events from the top level wrapper.
|
|
12009
|
+
// It is an implementation detail that devtools should not know about.
|
|
12010
|
+
componentInstance._debugID = 0;
|
|
12011
|
+
}
|
|
12012
|
+
|
|
11943
12013
|
// The initial render is synchronous but any updates that happen during
|
|
11944
12014
|
// rendering, in componentWillMount or componentDidMount, will be batched
|
|
11945
12015
|
// according to the current batching strategy.
|
|
@@ -11950,7 +12020,9 @@ var ReactMount = {
|
|
|
11950
12020
|
instancesByReactRootID[wrapperID] = componentInstance;
|
|
11951
12021
|
|
|
11952
12022
|
if ("development" !== 'production') {
|
|
11953
|
-
|
|
12023
|
+
// The instance here is TopLevelWrapper so we report mount for its child.
|
|
12024
|
+
ReactInstrumentation.debugTool.onMountRootComponent(componentInstance._renderedComponent._debugID);
|
|
12025
|
+
ReactInstrumentation.debugTool.onEndFlush();
|
|
11954
12026
|
}
|
|
11955
12027
|
|
|
11956
12028
|
return componentInstance;
|
|
@@ -12030,6 +12102,7 @@ var ReactMount = {
|
|
|
12030
12102
|
|
|
12031
12103
|
/**
|
|
12032
12104
|
* Renders a React component into the DOM in the supplied `container`.
|
|
12105
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render
|
|
12033
12106
|
*
|
|
12034
12107
|
* If the React component was previously rendered into `container`, this will
|
|
12035
12108
|
* perform an update on it and only mutate the DOM as necessary to reflect the
|
|
@@ -12046,6 +12119,7 @@ var ReactMount = {
|
|
|
12046
12119
|
|
|
12047
12120
|
/**
|
|
12048
12121
|
* Unmounts and destroys the React component rendered in the `container`.
|
|
12122
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode
|
|
12049
12123
|
*
|
|
12050
12124
|
* @param {DOMElement} container DOM element containing a React component.
|
|
12051
12125
|
* @return {boolean} True if a component was found in and unmounted from
|
|
@@ -12137,16 +12211,15 @@ var ReactMount = {
|
|
|
12137
12211
|
setInnerHTML(container, markup);
|
|
12138
12212
|
ReactDOMComponentTree.precacheNode(instance, container.firstChild);
|
|
12139
12213
|
}
|
|
12214
|
+
|
|
12215
|
+
if ("development" !== 'production') {
|
|
12216
|
+
ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(container.firstChild)._debugID, 'mount', markup.toString());
|
|
12217
|
+
}
|
|
12140
12218
|
}
|
|
12141
12219
|
};
|
|
12142
12220
|
|
|
12143
|
-
ReactPerf.measureMethods(ReactMount, 'ReactMount', {
|
|
12144
|
-
_renderNewRootComponent: '_renderNewRootComponent',
|
|
12145
|
-
_mountImageIntoNode: '_mountImageIntoNode'
|
|
12146
|
-
});
|
|
12147
|
-
|
|
12148
12221
|
module.exports = ReactMount;
|
|
12149
|
-
},{"10":10,"103":103,"104":104,"144":144,"150":150,"153":153,"166":166,"173":173,"183":183,"28":28,"
|
|
12222
|
+
},{"10":10,"103":103,"104":104,"144":144,"150":150,"153":153,"166":166,"173":173,"183":183,"28":28,"40":40,"45":45,"46":46,"50":50,"65":65,"71":71,"76":76,"79":79,"8":8,"93":93}],81:[function(_dereq_,module,exports){
|
|
12150
12223
|
/**
|
|
12151
12224
|
* Copyright 2013-present, Facebook, Inc.
|
|
12152
12225
|
* All rights reserved.
|
|
@@ -12161,12 +12234,14 @@ module.exports = ReactMount;
|
|
|
12161
12234
|
'use strict';
|
|
12162
12235
|
|
|
12163
12236
|
var ReactComponentEnvironment = _dereq_(36);
|
|
12164
|
-
var
|
|
12237
|
+
var ReactInstrumentation = _dereq_(76);
|
|
12238
|
+
var ReactMultiChildUpdateTypes = _dereq_(82);
|
|
12165
12239
|
|
|
12166
|
-
var ReactCurrentOwner = _dereq_(
|
|
12240
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
12167
12241
|
var ReactReconciler = _dereq_(93);
|
|
12168
12242
|
var ReactChildReconciler = _dereq_(31);
|
|
12169
12243
|
|
|
12244
|
+
var emptyFunction = _dereq_(165);
|
|
12170
12245
|
var flattenChildren = _dereq_(133);
|
|
12171
12246
|
var invariant = _dereq_(173);
|
|
12172
12247
|
|
|
@@ -12283,6 +12358,15 @@ function processQueue(inst, updateQueue) {
|
|
|
12283
12358
|
ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);
|
|
12284
12359
|
}
|
|
12285
12360
|
|
|
12361
|
+
var setChildrenForInstrumentation = emptyFunction;
|
|
12362
|
+
if ("development" !== 'production') {
|
|
12363
|
+
setChildrenForInstrumentation = function (children) {
|
|
12364
|
+
ReactInstrumentation.debugTool.onSetChildren(this._debugID, children ? Object.keys(children).map(function (key) {
|
|
12365
|
+
return children[key]._debugID;
|
|
12366
|
+
}) : []);
|
|
12367
|
+
};
|
|
12368
|
+
}
|
|
12369
|
+
|
|
12286
12370
|
/**
|
|
12287
12371
|
* ReactMultiChild are capable of reconciling multiple children.
|
|
12288
12372
|
*
|
|
@@ -12344,6 +12428,7 @@ var ReactMultiChild = {
|
|
|
12344
12428
|
mountChildren: function (nestedChildren, transaction, context) {
|
|
12345
12429
|
var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);
|
|
12346
12430
|
this._renderedChildren = children;
|
|
12431
|
+
|
|
12347
12432
|
var mountImages = [];
|
|
12348
12433
|
var index = 0;
|
|
12349
12434
|
for (var name in children) {
|
|
@@ -12354,6 +12439,11 @@ var ReactMultiChild = {
|
|
|
12354
12439
|
mountImages.push(mountImage);
|
|
12355
12440
|
}
|
|
12356
12441
|
}
|
|
12442
|
+
|
|
12443
|
+
if ("development" !== 'production') {
|
|
12444
|
+
setChildrenForInstrumentation.call(this, children);
|
|
12445
|
+
}
|
|
12446
|
+
|
|
12357
12447
|
return mountImages;
|
|
12358
12448
|
},
|
|
12359
12449
|
|
|
@@ -12460,6 +12550,10 @@ var ReactMultiChild = {
|
|
|
12460
12550
|
processQueue(this, updates);
|
|
12461
12551
|
}
|
|
12462
12552
|
this._renderedChildren = nextChildren;
|
|
12553
|
+
|
|
12554
|
+
if ("development" !== 'production') {
|
|
12555
|
+
setChildrenForInstrumentation.call(this, nextChildren);
|
|
12556
|
+
}
|
|
12463
12557
|
},
|
|
12464
12558
|
|
|
12465
12559
|
/**
|
|
@@ -12549,7 +12643,7 @@ var ReactMultiChild = {
|
|
|
12549
12643
|
};
|
|
12550
12644
|
|
|
12551
12645
|
module.exports = ReactMultiChild;
|
|
12552
|
-
},{"133":133,"173":173,"31":31,"36":36,"
|
|
12646
|
+
},{"133":133,"165":165,"173":173,"31":31,"36":36,"40":40,"76":76,"82":82,"93":93}],82:[function(_dereq_,module,exports){
|
|
12553
12647
|
/**
|
|
12554
12648
|
* Copyright 2013-present, Facebook, Inc.
|
|
12555
12649
|
* All rights reserved.
|
|
@@ -12582,7 +12676,7 @@ var ReactMultiChildUpdateTypes = keyMirror({
|
|
|
12582
12676
|
});
|
|
12583
12677
|
|
|
12584
12678
|
module.exports = ReactMultiChildUpdateTypes;
|
|
12585
|
-
},{"176":176}],
|
|
12679
|
+
},{"176":176}],83:[function(_dereq_,module,exports){
|
|
12586
12680
|
/**
|
|
12587
12681
|
* Copyright 2014-present, Facebook, Inc.
|
|
12588
12682
|
* All rights reserved.
|
|
@@ -12678,7 +12772,40 @@ var ReactNativeComponent = {
|
|
|
12678
12772
|
};
|
|
12679
12773
|
|
|
12680
12774
|
module.exports = ReactNativeComponent;
|
|
12681
|
-
},{"173":173,"184":184}],
|
|
12775
|
+
},{"173":173,"184":184}],84:[function(_dereq_,module,exports){
|
|
12776
|
+
/**
|
|
12777
|
+
* Copyright 2016-present, Facebook, Inc.
|
|
12778
|
+
* All rights reserved.
|
|
12779
|
+
*
|
|
12780
|
+
* This source code is licensed under the BSD-style license found in the
|
|
12781
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
|
12782
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
|
12783
|
+
*
|
|
12784
|
+
* @providesModule ReactNativeOperationHistoryDevtool
|
|
12785
|
+
*/
|
|
12786
|
+
|
|
12787
|
+
'use strict';
|
|
12788
|
+
|
|
12789
|
+
var history = [];
|
|
12790
|
+
|
|
12791
|
+
var ReactNativeOperationHistoryDevtool = {
|
|
12792
|
+
onNativeOperation: function (debugID, type, payload) {
|
|
12793
|
+
history.push({
|
|
12794
|
+
instanceID: debugID,
|
|
12795
|
+
type: type,
|
|
12796
|
+
payload: payload
|
|
12797
|
+
});
|
|
12798
|
+
},
|
|
12799
|
+
clearHistory: function () {
|
|
12800
|
+
history = [];
|
|
12801
|
+
},
|
|
12802
|
+
getHistory: function () {
|
|
12803
|
+
return history;
|
|
12804
|
+
}
|
|
12805
|
+
};
|
|
12806
|
+
|
|
12807
|
+
module.exports = ReactNativeOperationHistoryDevtool;
|
|
12808
|
+
},{}],85:[function(_dereq_,module,exports){
|
|
12682
12809
|
/**
|
|
12683
12810
|
* Copyright 2013-present, Facebook, Inc.
|
|
12684
12811
|
* All rights reserved.
|
|
@@ -12692,7 +12819,7 @@ module.exports = ReactNativeComponent;
|
|
|
12692
12819
|
|
|
12693
12820
|
'use strict';
|
|
12694
12821
|
|
|
12695
|
-
var ReactElement = _dereq_(
|
|
12822
|
+
var ReactElement = _dereq_(65);
|
|
12696
12823
|
|
|
12697
12824
|
var invariant = _dereq_(173);
|
|
12698
12825
|
|
|
@@ -12716,7 +12843,7 @@ var ReactNodeTypes = {
|
|
|
12716
12843
|
};
|
|
12717
12844
|
|
|
12718
12845
|
module.exports = ReactNodeTypes;
|
|
12719
|
-
},{"173":173,"
|
|
12846
|
+
},{"173":173,"65":65}],86:[function(_dereq_,module,exports){
|
|
12720
12847
|
/**
|
|
12721
12848
|
* Copyright 2015-present, Facebook, Inc.
|
|
12722
12849
|
* All rights reserved.
|
|
@@ -12907,7 +13034,7 @@ var ReactOwner = {
|
|
|
12907
13034
|
module.exports = ReactOwner;
|
|
12908
13035
|
},{"173":173}],88:[function(_dereq_,module,exports){
|
|
12909
13036
|
/**
|
|
12910
|
-
* Copyright
|
|
13037
|
+
* Copyright 2016-present, Facebook, Inc.
|
|
12911
13038
|
* All rights reserved.
|
|
12912
13039
|
*
|
|
12913
13040
|
* This source code is licensed under the BSD-style license found in the
|
|
@@ -12919,90 +13046,412 @@ module.exports = ReactOwner;
|
|
|
12919
13046
|
|
|
12920
13047
|
'use strict';
|
|
12921
13048
|
|
|
12922
|
-
|
|
12923
|
-
* ReactPerf is a general AOP system designed to measure performance. This
|
|
12924
|
-
* module only has the hooks: see ReactDefaultPerf for the analysis tool.
|
|
12925
|
-
*/
|
|
13049
|
+
var _assign = _dereq_(184);
|
|
12926
13050
|
|
|
12927
|
-
var
|
|
12928
|
-
/**
|
|
12929
|
-
* Boolean to enable/disable measurement. Set to false by default to prevent
|
|
12930
|
-
* accidental logging and perf loss.
|
|
12931
|
-
*/
|
|
12932
|
-
enableMeasure: false,
|
|
13051
|
+
var _extends = _assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
12933
13052
|
|
|
12934
|
-
|
|
12935
|
-
|
|
12936
|
-
* anything, but we'll override this if we inject a measure function.
|
|
12937
|
-
*/
|
|
12938
|
-
storedMeasure: _noMeasure,
|
|
13053
|
+
var ReactDebugTool = _dereq_(62);
|
|
13054
|
+
var warning = _dereq_(183);
|
|
12939
13055
|
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
13056
|
+
function roundFloat(val) {
|
|
13057
|
+
var base = arguments.length <= 1 || arguments[1] === undefined ? 2 : arguments[1];
|
|
13058
|
+
|
|
13059
|
+
var n = Math.pow(10, base);
|
|
13060
|
+
return Math.floor(val * n) / n;
|
|
13061
|
+
}
|
|
13062
|
+
|
|
13063
|
+
function getFlushHistory() {
|
|
13064
|
+
return ReactDebugTool.getFlushHistory();
|
|
13065
|
+
}
|
|
13066
|
+
|
|
13067
|
+
function getExclusive() {
|
|
13068
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13069
|
+
|
|
13070
|
+
var aggregatedStats = {};
|
|
13071
|
+
var affectedIDs = {};
|
|
13072
|
+
|
|
13073
|
+
function updateAggregatedStats(treeSnapshot, instanceID, timerType, applyUpdate) {
|
|
13074
|
+
var displayName = treeSnapshot[instanceID].displayName;
|
|
13075
|
+
|
|
13076
|
+
var key = displayName;
|
|
13077
|
+
var stats = aggregatedStats[key];
|
|
13078
|
+
if (!stats) {
|
|
13079
|
+
affectedIDs[key] = {};
|
|
13080
|
+
stats = aggregatedStats[key] = {
|
|
13081
|
+
key: key,
|
|
13082
|
+
instanceCount: 0,
|
|
13083
|
+
counts: {},
|
|
13084
|
+
durations: {},
|
|
13085
|
+
totalDuration: 0
|
|
13086
|
+
};
|
|
12953
13087
|
}
|
|
12954
|
-
|
|
13088
|
+
if (!stats.durations[timerType]) {
|
|
13089
|
+
stats.durations[timerType] = 0;
|
|
13090
|
+
}
|
|
13091
|
+
if (!stats.counts[timerType]) {
|
|
13092
|
+
stats.counts[timerType] = 0;
|
|
13093
|
+
}
|
|
13094
|
+
affectedIDs[key][instanceID] = true;
|
|
13095
|
+
applyUpdate(stats);
|
|
13096
|
+
}
|
|
12955
13097
|
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
|
|
13098
|
+
flushHistory.forEach(function (flush) {
|
|
13099
|
+
var measurements = flush.measurements;
|
|
13100
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13101
|
+
|
|
13102
|
+
measurements.forEach(function (measurement) {
|
|
13103
|
+
var duration = measurement.duration;
|
|
13104
|
+
var instanceID = measurement.instanceID;
|
|
13105
|
+
var timerType = measurement.timerType;
|
|
13106
|
+
|
|
13107
|
+
updateAggregatedStats(treeSnapshot, instanceID, timerType, function (stats) {
|
|
13108
|
+
stats.totalDuration += duration;
|
|
13109
|
+
stats.durations[timerType] += duration;
|
|
13110
|
+
stats.counts[timerType]++;
|
|
13111
|
+
});
|
|
13112
|
+
});
|
|
13113
|
+
});
|
|
13114
|
+
|
|
13115
|
+
return Object.keys(aggregatedStats).map(function (key) {
|
|
13116
|
+
return _extends({}, aggregatedStats[key], {
|
|
13117
|
+
instanceCount: Object.keys(affectedIDs[key]).length
|
|
13118
|
+
});
|
|
13119
|
+
}).sort(function (a, b) {
|
|
13120
|
+
return b.totalDuration - a.totalDuration;
|
|
13121
|
+
});
|
|
13122
|
+
}
|
|
13123
|
+
|
|
13124
|
+
function getInclusive() {
|
|
13125
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13126
|
+
|
|
13127
|
+
var aggregatedStats = {};
|
|
13128
|
+
var affectedIDs = {};
|
|
13129
|
+
|
|
13130
|
+
function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {
|
|
13131
|
+
var _treeSnapshot$instanc = treeSnapshot[instanceID];
|
|
13132
|
+
var displayName = _treeSnapshot$instanc.displayName;
|
|
13133
|
+
var ownerID = _treeSnapshot$instanc.ownerID;
|
|
13134
|
+
|
|
13135
|
+
var owner = treeSnapshot[ownerID];
|
|
13136
|
+
var key = (owner ? owner.displayName + ' > ' : '') + displayName;
|
|
13137
|
+
var stats = aggregatedStats[key];
|
|
13138
|
+
if (!stats) {
|
|
13139
|
+
affectedIDs[key] = {};
|
|
13140
|
+
stats = aggregatedStats[key] = {
|
|
13141
|
+
key: key,
|
|
13142
|
+
instanceCount: 0,
|
|
13143
|
+
inclusiveRenderDuration: 0,
|
|
13144
|
+
renderCount: 0
|
|
12975
13145
|
};
|
|
12976
|
-
wrapper.displayName = objName + '_' + fnName;
|
|
12977
|
-
return wrapper;
|
|
12978
13146
|
}
|
|
12979
|
-
|
|
12980
|
-
|
|
13147
|
+
affectedIDs[key][instanceID] = true;
|
|
13148
|
+
applyUpdate(stats);
|
|
13149
|
+
}
|
|
12981
13150
|
|
|
12982
|
-
|
|
12983
|
-
|
|
12984
|
-
|
|
12985
|
-
|
|
12986
|
-
|
|
12987
|
-
|
|
13151
|
+
var isCompositeByID = {};
|
|
13152
|
+
flushHistory.forEach(function (flush) {
|
|
13153
|
+
var measurements = flush.measurements;
|
|
13154
|
+
|
|
13155
|
+
measurements.forEach(function (measurement) {
|
|
13156
|
+
var instanceID = measurement.instanceID;
|
|
13157
|
+
var timerType = measurement.timerType;
|
|
13158
|
+
|
|
13159
|
+
if (timerType !== 'render') {
|
|
13160
|
+
return;
|
|
13161
|
+
}
|
|
13162
|
+
isCompositeByID[instanceID] = true;
|
|
13163
|
+
});
|
|
13164
|
+
});
|
|
13165
|
+
|
|
13166
|
+
flushHistory.forEach(function (flush) {
|
|
13167
|
+
var measurements = flush.measurements;
|
|
13168
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13169
|
+
|
|
13170
|
+
measurements.forEach(function (measurement) {
|
|
13171
|
+
var duration = measurement.duration;
|
|
13172
|
+
var instanceID = measurement.instanceID;
|
|
13173
|
+
var timerType = measurement.timerType;
|
|
13174
|
+
|
|
13175
|
+
if (timerType !== 'render') {
|
|
13176
|
+
return;
|
|
13177
|
+
}
|
|
13178
|
+
updateAggregatedStats(treeSnapshot, instanceID, function (stats) {
|
|
13179
|
+
stats.renderCount++;
|
|
13180
|
+
});
|
|
13181
|
+
var nextParentID = instanceID;
|
|
13182
|
+
while (nextParentID) {
|
|
13183
|
+
// As we traverse parents, only count inclusive time towards composites.
|
|
13184
|
+
// We know something is a composite if its render() was called.
|
|
13185
|
+
if (isCompositeByID[nextParentID]) {
|
|
13186
|
+
updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {
|
|
13187
|
+
stats.inclusiveRenderDuration += duration;
|
|
13188
|
+
});
|
|
13189
|
+
}
|
|
13190
|
+
nextParentID = treeSnapshot[nextParentID].parentID;
|
|
13191
|
+
}
|
|
13192
|
+
});
|
|
13193
|
+
});
|
|
13194
|
+
|
|
13195
|
+
return Object.keys(aggregatedStats).map(function (key) {
|
|
13196
|
+
return _extends({}, aggregatedStats[key], {
|
|
13197
|
+
instanceCount: Object.keys(affectedIDs[key]).length
|
|
13198
|
+
});
|
|
13199
|
+
}).sort(function (a, b) {
|
|
13200
|
+
return b.inclusiveRenderDuration - a.inclusiveRenderDuration;
|
|
13201
|
+
});
|
|
13202
|
+
}
|
|
13203
|
+
|
|
13204
|
+
function getWasted() {
|
|
13205
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13206
|
+
|
|
13207
|
+
var aggregatedStats = {};
|
|
13208
|
+
var affectedIDs = {};
|
|
13209
|
+
|
|
13210
|
+
function updateAggregatedStats(treeSnapshot, instanceID, applyUpdate) {
|
|
13211
|
+
var _treeSnapshot$instanc2 = treeSnapshot[instanceID];
|
|
13212
|
+
var displayName = _treeSnapshot$instanc2.displayName;
|
|
13213
|
+
var ownerID = _treeSnapshot$instanc2.ownerID;
|
|
13214
|
+
|
|
13215
|
+
var owner = treeSnapshot[ownerID];
|
|
13216
|
+
var key = (owner ? owner.displayName + ' > ' : '') + displayName;
|
|
13217
|
+
var stats = aggregatedStats[key];
|
|
13218
|
+
if (!stats) {
|
|
13219
|
+
affectedIDs[key] = {};
|
|
13220
|
+
stats = aggregatedStats[key] = {
|
|
13221
|
+
key: key,
|
|
13222
|
+
instanceCount: 0,
|
|
13223
|
+
inclusiveRenderDuration: 0,
|
|
13224
|
+
renderCount: 0
|
|
13225
|
+
};
|
|
12988
13226
|
}
|
|
13227
|
+
affectedIDs[key][instanceID] = true;
|
|
13228
|
+
applyUpdate(stats);
|
|
12989
13229
|
}
|
|
12990
|
-
};
|
|
12991
13230
|
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
|
|
12995
|
-
|
|
12996
|
-
|
|
12997
|
-
|
|
12998
|
-
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
|
|
13231
|
+
flushHistory.forEach(function (flush) {
|
|
13232
|
+
var measurements = flush.measurements;
|
|
13233
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13234
|
+
var operations = flush.operations;
|
|
13235
|
+
|
|
13236
|
+
var isDefinitelyNotWastedByID = {};
|
|
13237
|
+
|
|
13238
|
+
// Find native components associated with an operation in this batch.
|
|
13239
|
+
// Mark all components in their parent tree as definitely not wasted.
|
|
13240
|
+
operations.forEach(function (operation) {
|
|
13241
|
+
var instanceID = operation.instanceID;
|
|
13242
|
+
|
|
13243
|
+
var nextParentID = instanceID;
|
|
13244
|
+
while (nextParentID) {
|
|
13245
|
+
isDefinitelyNotWastedByID[nextParentID] = true;
|
|
13246
|
+
nextParentID = treeSnapshot[nextParentID].parentID;
|
|
13247
|
+
}
|
|
13248
|
+
});
|
|
13249
|
+
|
|
13250
|
+
// Find composite components that rendered in this batch.
|
|
13251
|
+
// These are potential candidates for being wasted renders.
|
|
13252
|
+
var renderedCompositeIDs = {};
|
|
13253
|
+
measurements.forEach(function (measurement) {
|
|
13254
|
+
var instanceID = measurement.instanceID;
|
|
13255
|
+
var timerType = measurement.timerType;
|
|
13256
|
+
|
|
13257
|
+
if (timerType !== 'render') {
|
|
13258
|
+
return;
|
|
13259
|
+
}
|
|
13260
|
+
renderedCompositeIDs[instanceID] = true;
|
|
13261
|
+
});
|
|
13262
|
+
|
|
13263
|
+
measurements.forEach(function (measurement) {
|
|
13264
|
+
var duration = measurement.duration;
|
|
13265
|
+
var instanceID = measurement.instanceID;
|
|
13266
|
+
var timerType = measurement.timerType;
|
|
13267
|
+
|
|
13268
|
+
if (timerType !== 'render') {
|
|
13269
|
+
return;
|
|
13270
|
+
}
|
|
13271
|
+
|
|
13272
|
+
// If there was a DOM update below this component, or it has just been
|
|
13273
|
+
// mounted, its render() is not considered wasted.
|
|
13274
|
+
var updateCount = treeSnapshot[instanceID].updateCount;
|
|
13275
|
+
|
|
13276
|
+
if (isDefinitelyNotWastedByID[instanceID] || updateCount === 0) {
|
|
13277
|
+
return;
|
|
13278
|
+
}
|
|
13279
|
+
|
|
13280
|
+
// We consider this render() wasted.
|
|
13281
|
+
updateAggregatedStats(treeSnapshot, instanceID, function (stats) {
|
|
13282
|
+
stats.renderCount++;
|
|
13283
|
+
});
|
|
13284
|
+
|
|
13285
|
+
var nextParentID = instanceID;
|
|
13286
|
+
while (nextParentID) {
|
|
13287
|
+
// Any parents rendered during this batch are considered wasted
|
|
13288
|
+
// unless we previously marked them as dirty.
|
|
13289
|
+
var isWasted = renderedCompositeIDs[nextParentID] && !isDefinitelyNotWastedByID[nextParentID];
|
|
13290
|
+
if (isWasted) {
|
|
13291
|
+
updateAggregatedStats(treeSnapshot, nextParentID, function (stats) {
|
|
13292
|
+
stats.inclusiveRenderDuration += duration;
|
|
13293
|
+
});
|
|
13294
|
+
}
|
|
13295
|
+
nextParentID = treeSnapshot[nextParentID].parentID;
|
|
13296
|
+
}
|
|
13297
|
+
});
|
|
13298
|
+
});
|
|
13299
|
+
|
|
13300
|
+
return Object.keys(aggregatedStats).map(function (key) {
|
|
13301
|
+
return _extends({}, aggregatedStats[key], {
|
|
13302
|
+
instanceCount: Object.keys(affectedIDs[key]).length
|
|
13303
|
+
});
|
|
13304
|
+
}).sort(function (a, b) {
|
|
13305
|
+
return b.inclusiveRenderDuration - a.inclusiveRenderDuration;
|
|
13306
|
+
});
|
|
13307
|
+
}
|
|
13308
|
+
|
|
13309
|
+
function getOperations() {
|
|
13310
|
+
var flushHistory = arguments.length <= 0 || arguments[0] === undefined ? getFlushHistory() : arguments[0];
|
|
13311
|
+
|
|
13312
|
+
var stats = [];
|
|
13313
|
+
flushHistory.forEach(function (flush, flushIndex) {
|
|
13314
|
+
var operations = flush.operations;
|
|
13315
|
+
var treeSnapshot = flush.treeSnapshot;
|
|
13316
|
+
|
|
13317
|
+
operations.forEach(function (operation) {
|
|
13318
|
+
var instanceID = operation.instanceID;
|
|
13319
|
+
var type = operation.type;
|
|
13320
|
+
var payload = operation.payload;
|
|
13321
|
+
var _treeSnapshot$instanc3 = treeSnapshot[instanceID];
|
|
13322
|
+
var displayName = _treeSnapshot$instanc3.displayName;
|
|
13323
|
+
var ownerID = _treeSnapshot$instanc3.ownerID;
|
|
13324
|
+
|
|
13325
|
+
var owner = treeSnapshot[ownerID];
|
|
13326
|
+
var key = (owner ? owner.displayName + ' > ' : '') + displayName;
|
|
13327
|
+
|
|
13328
|
+
stats.push({
|
|
13329
|
+
flushIndex: flushIndex,
|
|
13330
|
+
instanceID: instanceID,
|
|
13331
|
+
key: key,
|
|
13332
|
+
type: type,
|
|
13333
|
+
ownerID: ownerID,
|
|
13334
|
+
payload: payload
|
|
13335
|
+
});
|
|
13336
|
+
});
|
|
13337
|
+
});
|
|
13338
|
+
return stats;
|
|
13339
|
+
}
|
|
13340
|
+
|
|
13341
|
+
function printExclusive(flushHistory) {
|
|
13342
|
+
var stats = getExclusive(flushHistory);
|
|
13343
|
+
var table = stats.map(function (item) {
|
|
13344
|
+
var key = item.key;
|
|
13345
|
+
var instanceCount = item.instanceCount;
|
|
13346
|
+
var totalDuration = item.totalDuration;
|
|
13347
|
+
|
|
13348
|
+
var renderCount = item.counts.render || 0;
|
|
13349
|
+
var renderDuration = item.durations.render || 0;
|
|
13350
|
+
return {
|
|
13351
|
+
'Component': key,
|
|
13352
|
+
'Total time (ms)': roundFloat(totalDuration),
|
|
13353
|
+
'Instance count': instanceCount,
|
|
13354
|
+
'Total render time (ms)': roundFloat(renderDuration),
|
|
13355
|
+
'Average render time (ms)': renderCount ? roundFloat(renderDuration / renderCount) : undefined,
|
|
13356
|
+
'Render count': renderCount,
|
|
13357
|
+
'Total lifecycle time (ms)': roundFloat(totalDuration - renderDuration)
|
|
13358
|
+
};
|
|
13359
|
+
});
|
|
13360
|
+
console.table(table);
|
|
13361
|
+
}
|
|
13362
|
+
|
|
13363
|
+
function printInclusive(flushHistory) {
|
|
13364
|
+
var stats = getInclusive(flushHistory);
|
|
13365
|
+
var table = stats.map(function (item) {
|
|
13366
|
+
var key = item.key;
|
|
13367
|
+
var instanceCount = item.instanceCount;
|
|
13368
|
+
var inclusiveRenderDuration = item.inclusiveRenderDuration;
|
|
13369
|
+
var renderCount = item.renderCount;
|
|
13370
|
+
|
|
13371
|
+
return {
|
|
13372
|
+
'Owner > Component': key,
|
|
13373
|
+
'Inclusive render time (ms)': roundFloat(inclusiveRenderDuration),
|
|
13374
|
+
'Instance count': instanceCount,
|
|
13375
|
+
'Render count': renderCount
|
|
13376
|
+
};
|
|
13377
|
+
});
|
|
13378
|
+
console.table(table);
|
|
13379
|
+
}
|
|
13380
|
+
|
|
13381
|
+
function printWasted(flushHistory) {
|
|
13382
|
+
var stats = getWasted(flushHistory);
|
|
13383
|
+
var table = stats.map(function (item) {
|
|
13384
|
+
var key = item.key;
|
|
13385
|
+
var instanceCount = item.instanceCount;
|
|
13386
|
+
var inclusiveRenderDuration = item.inclusiveRenderDuration;
|
|
13387
|
+
var renderCount = item.renderCount;
|
|
13388
|
+
|
|
13389
|
+
return {
|
|
13390
|
+
'Owner > Component': key,
|
|
13391
|
+
'Inclusive wasted time (ms)': roundFloat(inclusiveRenderDuration),
|
|
13392
|
+
'Instance count': instanceCount,
|
|
13393
|
+
'Render count': renderCount
|
|
13394
|
+
};
|
|
13395
|
+
});
|
|
13396
|
+
console.table(table);
|
|
13397
|
+
}
|
|
13398
|
+
|
|
13399
|
+
function printOperations(flushHistory) {
|
|
13400
|
+
var stats = getOperations(flushHistory);
|
|
13401
|
+
var table = stats.map(function (stat) {
|
|
13402
|
+
return {
|
|
13403
|
+
'Owner > Node': stat.key,
|
|
13404
|
+
'Operation': stat.type,
|
|
13405
|
+
'Payload': typeof stat.payload === 'object' ? JSON.stringify(stat.payload) : stat.payload,
|
|
13406
|
+
'Flush index': stat.flushIndex,
|
|
13407
|
+
'Owner Component ID': stat.ownerID,
|
|
13408
|
+
'DOM Component ID': stat.instanceID
|
|
13409
|
+
};
|
|
13410
|
+
});
|
|
13411
|
+
console.table(table);
|
|
13412
|
+
}
|
|
13413
|
+
|
|
13414
|
+
var warnedAboutPrintDOM = false;
|
|
13415
|
+
function printDOM(measurements) {
|
|
13416
|
+
"development" !== 'production' ? warning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.') : void 0;
|
|
13417
|
+
warnedAboutPrintDOM = true;
|
|
13418
|
+
return printOperations(measurements);
|
|
13002
13419
|
}
|
|
13003
13420
|
|
|
13004
|
-
|
|
13005
|
-
|
|
13421
|
+
var warnedAboutGetMeasurementsSummaryMap = false;
|
|
13422
|
+
function getMeasurementsSummaryMap(measurements) {
|
|
13423
|
+
"development" !== 'production' ? warning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.') : void 0;
|
|
13424
|
+
warnedAboutGetMeasurementsSummaryMap = true;
|
|
13425
|
+
return getWasted(measurements);
|
|
13426
|
+
}
|
|
13427
|
+
|
|
13428
|
+
function start() {
|
|
13429
|
+
ReactDebugTool.beginProfiling();
|
|
13430
|
+
}
|
|
13431
|
+
|
|
13432
|
+
function stop() {
|
|
13433
|
+
ReactDebugTool.endProfiling();
|
|
13434
|
+
}
|
|
13435
|
+
|
|
13436
|
+
var ReactPerfAnalysis = {
|
|
13437
|
+
getLastMeasurements: getFlushHistory,
|
|
13438
|
+
getExclusive: getExclusive,
|
|
13439
|
+
getInclusive: getInclusive,
|
|
13440
|
+
getWasted: getWasted,
|
|
13441
|
+
getOperations: getOperations,
|
|
13442
|
+
printExclusive: printExclusive,
|
|
13443
|
+
printInclusive: printInclusive,
|
|
13444
|
+
printWasted: printWasted,
|
|
13445
|
+
printOperations: printOperations,
|
|
13446
|
+
start: start,
|
|
13447
|
+
stop: stop,
|
|
13448
|
+
// Deprecated:
|
|
13449
|
+
printDOM: printDOM,
|
|
13450
|
+
getMeasurementsSummaryMap: getMeasurementsSummaryMap
|
|
13451
|
+
};
|
|
13452
|
+
|
|
13453
|
+
module.exports = ReactPerfAnalysis;
|
|
13454
|
+
},{"183":183,"184":184,"62":62}],89:[function(_dereq_,module,exports){
|
|
13006
13455
|
/**
|
|
13007
13456
|
* Copyright 2013-present, Facebook, Inc.
|
|
13008
13457
|
* All rights reserved.
|
|
@@ -13064,7 +13513,7 @@ module.exports = ReactPropTypeLocations;
|
|
|
13064
13513
|
|
|
13065
13514
|
'use strict';
|
|
13066
13515
|
|
|
13067
|
-
var ReactElement = _dereq_(
|
|
13516
|
+
var ReactElement = _dereq_(65);
|
|
13068
13517
|
var ReactPropTypeLocationNames = _dereq_(89);
|
|
13069
13518
|
|
|
13070
13519
|
var emptyFunction = _dereq_(165);
|
|
@@ -13431,7 +13880,7 @@ function getClassName(propValue) {
|
|
|
13431
13880
|
}
|
|
13432
13881
|
|
|
13433
13882
|
module.exports = ReactPropTypes;
|
|
13434
|
-
},{"139":139,"165":165,"
|
|
13883
|
+
},{"139":139,"165":165,"65":65,"89":89}],92:[function(_dereq_,module,exports){
|
|
13435
13884
|
/**
|
|
13436
13885
|
* Copyright 2013-present, Facebook, Inc.
|
|
13437
13886
|
* All rights reserved.
|
|
@@ -13450,7 +13899,7 @@ var _assign = _dereq_(184);
|
|
|
13450
13899
|
var CallbackQueue = _dereq_(5);
|
|
13451
13900
|
var PooledClass = _dereq_(26);
|
|
13452
13901
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
13453
|
-
var ReactInputSelection = _dereq_(
|
|
13902
|
+
var ReactInputSelection = _dereq_(74);
|
|
13454
13903
|
var Transaction = _dereq_(124);
|
|
13455
13904
|
|
|
13456
13905
|
/**
|
|
@@ -13594,7 +14043,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin);
|
|
|
13594
14043
|
PooledClass.addPoolingTo(ReactReconcileTransaction);
|
|
13595
14044
|
|
|
13596
14045
|
module.exports = ReactReconcileTransaction;
|
|
13597
|
-
},{"124":124,"184":184,"26":26,"28":28,"5":5,"
|
|
14046
|
+
},{"124":124,"184":184,"26":26,"28":28,"5":5,"74":74}],93:[function(_dereq_,module,exports){
|
|
13598
14047
|
/**
|
|
13599
14048
|
* Copyright 2013-present, Facebook, Inc.
|
|
13600
14049
|
* All rights reserved.
|
|
@@ -13609,7 +14058,9 @@ module.exports = ReactReconcileTransaction;
|
|
|
13609
14058
|
'use strict';
|
|
13610
14059
|
|
|
13611
14060
|
var ReactRef = _dereq_(94);
|
|
13612
|
-
var ReactInstrumentation = _dereq_(
|
|
14061
|
+
var ReactInstrumentation = _dereq_(76);
|
|
14062
|
+
|
|
14063
|
+
var invariant = _dereq_(173);
|
|
13613
14064
|
|
|
13614
14065
|
/**
|
|
13615
14066
|
* Helper to call ReactRef.attachRefs with this composite component, split out
|
|
@@ -13633,12 +14084,20 @@ var ReactReconciler = {
|
|
|
13633
14084
|
* @internal
|
|
13634
14085
|
*/
|
|
13635
14086
|
mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) {
|
|
14087
|
+
if ("development" !== 'production') {
|
|
14088
|
+
if (internalInstance._debugID !== 0) {
|
|
14089
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent');
|
|
14090
|
+
}
|
|
14091
|
+
}
|
|
13636
14092
|
var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context);
|
|
13637
14093
|
if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {
|
|
13638
14094
|
transaction.getReactMountReady().enqueue(attachRefs, internalInstance);
|
|
13639
14095
|
}
|
|
13640
14096
|
if ("development" !== 'production') {
|
|
13641
|
-
|
|
14097
|
+
if (internalInstance._debugID !== 0) {
|
|
14098
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent');
|
|
14099
|
+
ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);
|
|
14100
|
+
}
|
|
13642
14101
|
}
|
|
13643
14102
|
return markup;
|
|
13644
14103
|
},
|
|
@@ -13658,10 +14117,18 @@ var ReactReconciler = {
|
|
|
13658
14117
|
* @internal
|
|
13659
14118
|
*/
|
|
13660
14119
|
unmountComponent: function (internalInstance, safely) {
|
|
14120
|
+
if ("development" !== 'production') {
|
|
14121
|
+
if (internalInstance._debugID !== 0) {
|
|
14122
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent');
|
|
14123
|
+
}
|
|
14124
|
+
}
|
|
13661
14125
|
ReactRef.detachRefs(internalInstance, internalInstance._currentElement);
|
|
13662
14126
|
internalInstance.unmountComponent(safely);
|
|
13663
14127
|
if ("development" !== 'production') {
|
|
13664
|
-
|
|
14128
|
+
if (internalInstance._debugID !== 0) {
|
|
14129
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent');
|
|
14130
|
+
ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);
|
|
14131
|
+
}
|
|
13665
14132
|
}
|
|
13666
14133
|
},
|
|
13667
14134
|
|
|
@@ -13691,6 +14158,12 @@ var ReactReconciler = {
|
|
|
13691
14158
|
return;
|
|
13692
14159
|
}
|
|
13693
14160
|
|
|
14161
|
+
if ("development" !== 'production') {
|
|
14162
|
+
if (internalInstance._debugID !== 0) {
|
|
14163
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent');
|
|
14164
|
+
}
|
|
14165
|
+
}
|
|
14166
|
+
|
|
13694
14167
|
var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);
|
|
13695
14168
|
|
|
13696
14169
|
if (refsChanged) {
|
|
@@ -13704,7 +14177,10 @@ var ReactReconciler = {
|
|
|
13704
14177
|
}
|
|
13705
14178
|
|
|
13706
14179
|
if ("development" !== 'production') {
|
|
13707
|
-
|
|
14180
|
+
if (internalInstance._debugID !== 0) {
|
|
14181
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent');
|
|
14182
|
+
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
|
|
14183
|
+
}
|
|
13708
14184
|
}
|
|
13709
14185
|
},
|
|
13710
14186
|
|
|
@@ -13715,17 +14191,31 @@ var ReactReconciler = {
|
|
|
13715
14191
|
* @param {ReactReconcileTransaction} transaction
|
|
13716
14192
|
* @internal
|
|
13717
14193
|
*/
|
|
13718
|
-
performUpdateIfNecessary: function (internalInstance, transaction) {
|
|
14194
|
+
performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {
|
|
14195
|
+
if (internalInstance._updateBatchNumber !== updateBatchNumber) {
|
|
14196
|
+
// The component's enqueued batch number should always be the current
|
|
14197
|
+
// batch or the following one.
|
|
14198
|
+
!(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1) ? "development" !== 'production' ? invariant(false, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : invariant(false) : void 0;
|
|
14199
|
+
return;
|
|
14200
|
+
}
|
|
14201
|
+
if ("development" !== 'production') {
|
|
14202
|
+
if (internalInstance._debugID !== 0) {
|
|
14203
|
+
ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
|
|
14204
|
+
}
|
|
14205
|
+
}
|
|
13719
14206
|
internalInstance.performUpdateIfNecessary(transaction);
|
|
13720
14207
|
if ("development" !== 'production') {
|
|
13721
|
-
|
|
14208
|
+
if (internalInstance._debugID !== 0) {
|
|
14209
|
+
ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
|
|
14210
|
+
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
|
|
14211
|
+
}
|
|
13722
14212
|
}
|
|
13723
14213
|
}
|
|
13724
14214
|
|
|
13725
14215
|
};
|
|
13726
14216
|
|
|
13727
14217
|
module.exports = ReactReconciler;
|
|
13728
|
-
},{"
|
|
14218
|
+
},{"173":173,"76":76,"94":94}],94:[function(_dereq_,module,exports){
|
|
13729
14219
|
/**
|
|
13730
14220
|
* Copyright 2013-present, Facebook, Inc.
|
|
13731
14221
|
* All rights reserved.
|
|
@@ -13840,10 +14330,12 @@ module.exports = ReactServerBatchingStrategy;
|
|
|
13840
14330
|
*/
|
|
13841
14331
|
'use strict';
|
|
13842
14332
|
|
|
13843
|
-
var ReactDOMContainerInfo = _dereq_(
|
|
13844
|
-
var ReactDefaultBatchingStrategy = _dereq_(
|
|
13845
|
-
var ReactElement = _dereq_(
|
|
13846
|
-
var
|
|
14333
|
+
var ReactDOMContainerInfo = _dereq_(46);
|
|
14334
|
+
var ReactDefaultBatchingStrategy = _dereq_(63);
|
|
14335
|
+
var ReactElement = _dereq_(65);
|
|
14336
|
+
var ReactInstrumentation = _dereq_(76);
|
|
14337
|
+
var ReactMarkupChecksum = _dereq_(79);
|
|
14338
|
+
var ReactReconciler = _dereq_(93);
|
|
13847
14339
|
var ReactServerBatchingStrategy = _dereq_(95);
|
|
13848
14340
|
var ReactServerRenderingTransaction = _dereq_(97);
|
|
13849
14341
|
var ReactUpdates = _dereq_(104);
|
|
@@ -13865,7 +14357,10 @@ function renderToStringImpl(element, makeStaticMarkup) {
|
|
|
13865
14357
|
|
|
13866
14358
|
return transaction.perform(function () {
|
|
13867
14359
|
var componentInstance = instantiateReactComponent(element);
|
|
13868
|
-
var markup =
|
|
14360
|
+
var markup = ReactReconciler.mountComponent(componentInstance, transaction, null, ReactDOMContainerInfo(), emptyObject);
|
|
14361
|
+
if ("development" !== 'production') {
|
|
14362
|
+
ReactInstrumentation.debugTool.onUnmountComponent(componentInstance._debugID);
|
|
14363
|
+
}
|
|
13869
14364
|
if (!makeStaticMarkup) {
|
|
13870
14365
|
markup = ReactMarkupChecksum.addChecksumToMarkup(markup);
|
|
13871
14366
|
}
|
|
@@ -13879,11 +14374,21 @@ function renderToStringImpl(element, makeStaticMarkup) {
|
|
|
13879
14374
|
}
|
|
13880
14375
|
}
|
|
13881
14376
|
|
|
14377
|
+
/**
|
|
14378
|
+
* Render a ReactElement to its initial HTML. This should only be used on the
|
|
14379
|
+
* server.
|
|
14380
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdomserver.rendertostring
|
|
14381
|
+
*/
|
|
13882
14382
|
function renderToString(element) {
|
|
13883
14383
|
!ReactElement.isValidElement(element) ? "development" !== 'production' ? invariant(false, 'renderToString(): You must pass a valid ReactElement.') : invariant(false) : void 0;
|
|
13884
14384
|
return renderToStringImpl(element, false);
|
|
13885
14385
|
}
|
|
13886
14386
|
|
|
14387
|
+
/**
|
|
14388
|
+
* Similar to renderToString, except this doesn't create extra DOM attributes
|
|
14389
|
+
* such as data-react-id that React uses internally.
|
|
14390
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdomserver.rendertostaticmarkup
|
|
14391
|
+
*/
|
|
13887
14392
|
function renderToStaticMarkup(element) {
|
|
13888
14393
|
!ReactElement.isValidElement(element) ? "development" !== 'production' ? invariant(false, 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(false) : void 0;
|
|
13889
14394
|
return renderToStringImpl(element, true);
|
|
@@ -13893,7 +14398,7 @@ module.exports = {
|
|
|
13893
14398
|
renderToString: renderToString,
|
|
13894
14399
|
renderToStaticMarkup: renderToStaticMarkup
|
|
13895
14400
|
};
|
|
13896
|
-
},{"104":104,"144":144,"166":166,"173":173,"
|
|
14401
|
+
},{"104":104,"144":144,"166":166,"173":173,"46":46,"63":63,"65":65,"76":76,"79":79,"93":93,"95":95,"97":97}],97:[function(_dereq_,module,exports){
|
|
13897
14402
|
/**
|
|
13898
14403
|
* Copyright 2014-present, Facebook, Inc.
|
|
13899
14404
|
* All rights reserved.
|
|
@@ -13955,7 +14460,11 @@ var Mixin = {
|
|
|
13955
14460
|
* `PooledClass` looks for this, and will invoke this before allowing this
|
|
13956
14461
|
* instance to be reused.
|
|
13957
14462
|
*/
|
|
13958
|
-
destructor: function () {}
|
|
14463
|
+
destructor: function () {},
|
|
14464
|
+
|
|
14465
|
+
checkpoint: function () {},
|
|
14466
|
+
|
|
14467
|
+
rollback: function () {}
|
|
13959
14468
|
};
|
|
13960
14469
|
|
|
13961
14470
|
_assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin);
|
|
@@ -14089,13 +14598,13 @@ var EventPluginHub = _dereq_(17);
|
|
|
14089
14598
|
var EventPluginRegistry = _dereq_(18);
|
|
14090
14599
|
var EventPropagators = _dereq_(20);
|
|
14091
14600
|
var React = _dereq_(27);
|
|
14092
|
-
var ReactDefaultInjection = _dereq_(
|
|
14093
|
-
var ReactDOM = _dereq_(
|
|
14094
|
-
var ReactDOMComponentTree = _dereq_(
|
|
14095
|
-
var ReactElement = _dereq_(
|
|
14601
|
+
var ReactDefaultInjection = _dereq_(64);
|
|
14602
|
+
var ReactDOM = _dereq_(41);
|
|
14603
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
14604
|
+
var ReactElement = _dereq_(65);
|
|
14096
14605
|
var ReactBrowserEventEmitter = _dereq_(28);
|
|
14097
|
-
var ReactCompositeComponent = _dereq_(
|
|
14098
|
-
var ReactInstanceMap = _dereq_(
|
|
14606
|
+
var ReactCompositeComponent = _dereq_(39);
|
|
14607
|
+
var ReactInstanceMap = _dereq_(75);
|
|
14099
14608
|
var ReactUpdates = _dereq_(104);
|
|
14100
14609
|
var SyntheticEvent = _dereq_(115);
|
|
14101
14610
|
|
|
@@ -14134,6 +14643,10 @@ function findAllInRenderedTreeInternal(inst, test) {
|
|
|
14134
14643
|
}
|
|
14135
14644
|
|
|
14136
14645
|
/**
|
|
14646
|
+
* Utilities for making it easy to test React components.
|
|
14647
|
+
*
|
|
14648
|
+
* See https://facebook.github.io/react/docs/test-utils.html
|
|
14649
|
+
*
|
|
14137
14650
|
* Todo: Support the entire DOM.scry query syntax. For now, these simple
|
|
14138
14651
|
* utilities will suffice for testing purposes.
|
|
14139
14652
|
* @lends ReactTestUtils
|
|
@@ -14568,7 +15081,7 @@ Object.keys(topLevelTypes).forEach(function (eventType) {
|
|
|
14568
15081
|
});
|
|
14569
15082
|
|
|
14570
15083
|
module.exports = ReactTestUtils;
|
|
14571
|
-
},{"104":104,"115":115,"132":132,"16":16,"166":166,"17":17,"173":173,"18":18,"184":184,"20":20,"27":27,"28":28,"
|
|
15084
|
+
},{"104":104,"115":115,"132":132,"16":16,"166":166,"17":17,"173":173,"18":18,"184":184,"20":20,"27":27,"28":28,"39":39,"41":41,"45":45,"64":64,"65":65,"75":75}],100:[function(_dereq_,module,exports){
|
|
14572
15085
|
/**
|
|
14573
15086
|
* Copyright 2013-present, Facebook, Inc.
|
|
14574
15087
|
* All rights reserved.
|
|
@@ -14761,6 +15274,11 @@ var ReactTransitionChildMapping = _dereq_(100);
|
|
|
14761
15274
|
|
|
14762
15275
|
var emptyFunction = _dereq_(165);
|
|
14763
15276
|
|
|
15277
|
+
/**
|
|
15278
|
+
* A basis for animatins. When children are declaratively added or removed,
|
|
15279
|
+
* special lifecycle hooks are called.
|
|
15280
|
+
* See https://facebook.github.io/react/docs/animation.html#low-level-api-reacttransitiongroup
|
|
15281
|
+
*/
|
|
14764
15282
|
var ReactTransitionGroup = React.createClass({
|
|
14765
15283
|
displayName: 'ReactTransitionGroup',
|
|
14766
15284
|
|
|
@@ -14961,8 +15479,8 @@ module.exports = ReactTransitionGroup;
|
|
|
14961
15479
|
|
|
14962
15480
|
'use strict';
|
|
14963
15481
|
|
|
14964
|
-
var ReactCurrentOwner = _dereq_(
|
|
14965
|
-
var ReactInstanceMap = _dereq_(
|
|
15482
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
15483
|
+
var ReactInstanceMap = _dereq_(75);
|
|
14966
15484
|
var ReactUpdates = _dereq_(104);
|
|
14967
15485
|
|
|
14968
15486
|
var invariant = _dereq_(173);
|
|
@@ -15163,7 +15681,7 @@ var ReactUpdateQueue = {
|
|
|
15163
15681
|
};
|
|
15164
15682
|
|
|
15165
15683
|
module.exports = ReactUpdateQueue;
|
|
15166
|
-
},{"104":104,"173":173,"183":183,"
|
|
15684
|
+
},{"104":104,"173":173,"183":183,"40":40,"75":75}],104:[function(_dereq_,module,exports){
|
|
15167
15685
|
/**
|
|
15168
15686
|
* Copyright 2013-present, Facebook, Inc.
|
|
15169
15687
|
* All rights reserved.
|
|
@@ -15181,14 +15699,15 @@ var _assign = _dereq_(184);
|
|
|
15181
15699
|
|
|
15182
15700
|
var CallbackQueue = _dereq_(5);
|
|
15183
15701
|
var PooledClass = _dereq_(26);
|
|
15184
|
-
var ReactFeatureFlags = _dereq_(
|
|
15185
|
-
var
|
|
15702
|
+
var ReactFeatureFlags = _dereq_(71);
|
|
15703
|
+
var ReactInstrumentation = _dereq_(76);
|
|
15186
15704
|
var ReactReconciler = _dereq_(93);
|
|
15187
15705
|
var Transaction = _dereq_(124);
|
|
15188
15706
|
|
|
15189
15707
|
var invariant = _dereq_(173);
|
|
15190
15708
|
|
|
15191
15709
|
var dirtyComponents = [];
|
|
15710
|
+
var updateBatchNumber = 0;
|
|
15192
15711
|
var asapCallbackQueue = CallbackQueue.getPooled();
|
|
15193
15712
|
var asapEnqueued = false;
|
|
15194
15713
|
|
|
@@ -15283,6 +15802,13 @@ function runBatchedUpdates(transaction) {
|
|
|
15283
15802
|
// them before their children by sorting the array.
|
|
15284
15803
|
dirtyComponents.sort(mountOrderComparator);
|
|
15285
15804
|
|
|
15805
|
+
// Any updates enqueued while reconciling must be performed after this entire
|
|
15806
|
+
// batch. Otherwise, if dirtyComponents is [A, B] where A has children B and
|
|
15807
|
+
// C, B could update twice in a single batch if C's render enqueues an update
|
|
15808
|
+
// to B (since B would have already updated, we should skip it, and the only
|
|
15809
|
+
// way we can know to do so is by checking the batch counter).
|
|
15810
|
+
updateBatchNumber++;
|
|
15811
|
+
|
|
15286
15812
|
for (var i = 0; i < len; i++) {
|
|
15287
15813
|
// If a component is unmounted before pending changes apply, it will still
|
|
15288
15814
|
// be here, but we assume that it has cleared its _pendingCallbacks and
|
|
@@ -15306,7 +15832,7 @@ function runBatchedUpdates(transaction) {
|
|
|
15306
15832
|
console.time(markerName);
|
|
15307
15833
|
}
|
|
15308
15834
|
|
|
15309
|
-
ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction);
|
|
15835
|
+
ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);
|
|
15310
15836
|
|
|
15311
15837
|
if (markerName) {
|
|
15312
15838
|
console.timeEnd(markerName);
|
|
@@ -15321,6 +15847,10 @@ function runBatchedUpdates(transaction) {
|
|
|
15321
15847
|
}
|
|
15322
15848
|
|
|
15323
15849
|
var flushBatchedUpdates = function () {
|
|
15850
|
+
if ("development" !== 'production') {
|
|
15851
|
+
ReactInstrumentation.debugTool.onBeginFlush();
|
|
15852
|
+
}
|
|
15853
|
+
|
|
15324
15854
|
// ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents
|
|
15325
15855
|
// array and perform any updates enqueued by mount-ready handlers (i.e.,
|
|
15326
15856
|
// componentDidUpdate) but we need to check here too in order to catch
|
|
@@ -15340,8 +15870,11 @@ var flushBatchedUpdates = function () {
|
|
|
15340
15870
|
CallbackQueue.release(queue);
|
|
15341
15871
|
}
|
|
15342
15872
|
}
|
|
15873
|
+
|
|
15874
|
+
if ("development" !== 'production') {
|
|
15875
|
+
ReactInstrumentation.debugTool.onEndFlush();
|
|
15876
|
+
}
|
|
15343
15877
|
};
|
|
15344
|
-
flushBatchedUpdates = ReactPerf.measure('ReactUpdates', 'flushBatchedUpdates', flushBatchedUpdates);
|
|
15345
15878
|
|
|
15346
15879
|
/**
|
|
15347
15880
|
* Mark a component as needing a rerender, adding an optional callback to a
|
|
@@ -15362,6 +15895,9 @@ function enqueueUpdate(component) {
|
|
|
15362
15895
|
}
|
|
15363
15896
|
|
|
15364
15897
|
dirtyComponents.push(component);
|
|
15898
|
+
if (component._updateBatchNumber == null) {
|
|
15899
|
+
component._updateBatchNumber = updateBatchNumber + 1;
|
|
15900
|
+
}
|
|
15365
15901
|
}
|
|
15366
15902
|
|
|
15367
15903
|
/**
|
|
@@ -15405,7 +15941,7 @@ var ReactUpdates = {
|
|
|
15405
15941
|
};
|
|
15406
15942
|
|
|
15407
15943
|
module.exports = ReactUpdates;
|
|
15408
|
-
},{"124":124,"173":173,"184":184,"26":26,"5":5,"
|
|
15944
|
+
},{"124":124,"173":173,"184":184,"26":26,"5":5,"71":71,"76":76,"93":93}],105:[function(_dereq_,module,exports){
|
|
15409
15945
|
/**
|
|
15410
15946
|
* Copyright 2013-present, Facebook, Inc.
|
|
15411
15947
|
* All rights reserved.
|
|
@@ -15419,7 +15955,7 @@ module.exports = ReactUpdates;
|
|
|
15419
15955
|
|
|
15420
15956
|
'use strict';
|
|
15421
15957
|
|
|
15422
|
-
module.exports = '15.0
|
|
15958
|
+
module.exports = '15.1.0-alpha.1';
|
|
15423
15959
|
},{}],106:[function(_dereq_,module,exports){
|
|
15424
15960
|
/**
|
|
15425
15961
|
* Copyright 2013-present, Facebook, Inc.
|
|
@@ -15436,9 +15972,9 @@ module.exports = '15.0.2-alpha.4';
|
|
|
15436
15972
|
|
|
15437
15973
|
var LinkedStateMixin = _dereq_(24);
|
|
15438
15974
|
var React = _dereq_(27);
|
|
15439
|
-
var ReactComponentWithPureRenderMixin = _dereq_(
|
|
15975
|
+
var ReactComponentWithPureRenderMixin = _dereq_(38);
|
|
15440
15976
|
var ReactCSSTransitionGroup = _dereq_(29);
|
|
15441
|
-
var ReactFragment = _dereq_(
|
|
15977
|
+
var ReactFragment = _dereq_(72);
|
|
15442
15978
|
var ReactTransitionGroup = _dereq_(102);
|
|
15443
15979
|
|
|
15444
15980
|
var shallowCompare = _dereq_(152);
|
|
@@ -15456,12 +15992,12 @@ React.addons = {
|
|
|
15456
15992
|
};
|
|
15457
15993
|
|
|
15458
15994
|
if ("development" !== 'production') {
|
|
15459
|
-
React.addons.Perf = _dereq_(
|
|
15995
|
+
React.addons.Perf = _dereq_(88);
|
|
15460
15996
|
React.addons.TestUtils = _dereq_(99);
|
|
15461
15997
|
}
|
|
15462
15998
|
|
|
15463
15999
|
module.exports = React;
|
|
15464
|
-
},{"102":102,"152":152,"155":155,"24":24,"27":27,"29":29,"
|
|
16000
|
+
},{"102":102,"152":152,"155":155,"24":24,"27":27,"29":29,"38":38,"72":72,"88":88,"99":99}],107:[function(_dereq_,module,exports){
|
|
15465
16001
|
/**
|
|
15466
16002
|
* Copyright 2013-present, Facebook, Inc.
|
|
15467
16003
|
* All rights reserved.
|
|
@@ -15477,8 +16013,8 @@ module.exports = React;
|
|
|
15477
16013
|
|
|
15478
16014
|
var _assign = _dereq_(184);
|
|
15479
16015
|
|
|
15480
|
-
var ReactDOM = _dereq_(
|
|
15481
|
-
var ReactDOMServer = _dereq_(
|
|
16016
|
+
var ReactDOM = _dereq_(41);
|
|
16017
|
+
var ReactDOMServer = _dereq_(57);
|
|
15482
16018
|
var ReactWithAddons = _dereq_(106);
|
|
15483
16019
|
|
|
15484
16020
|
// `version` will be added here by ReactIsomorphic.
|
|
@@ -15488,7 +16024,7 @@ var ReactWithAddonsUMDEntry = _assign({
|
|
|
15488
16024
|
}, ReactWithAddons);
|
|
15489
16025
|
|
|
15490
16026
|
module.exports = ReactWithAddonsUMDEntry;
|
|
15491
|
-
},{"106":106,"184":184,"
|
|
16027
|
+
},{"106":106,"184":184,"41":41,"57":57}],108:[function(_dereq_,module,exports){
|
|
15492
16028
|
/**
|
|
15493
16029
|
* Copyright 2013-present, Facebook, Inc.
|
|
15494
16030
|
* All rights reserved.
|
|
@@ -15806,8 +16342,8 @@ module.exports = SVGDOMPropertyConfig;
|
|
|
15806
16342
|
var EventConstants = _dereq_(16);
|
|
15807
16343
|
var EventPropagators = _dereq_(20);
|
|
15808
16344
|
var ExecutionEnvironment = _dereq_(159);
|
|
15809
|
-
var ReactDOMComponentTree = _dereq_(
|
|
15810
|
-
var ReactInputSelection = _dereq_(
|
|
16345
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
16346
|
+
var ReactInputSelection = _dereq_(74);
|
|
15811
16347
|
var SyntheticEvent = _dereq_(115);
|
|
15812
16348
|
|
|
15813
16349
|
var getActiveElement = _dereq_(168);
|
|
@@ -15986,7 +16522,7 @@ var SelectEventPlugin = {
|
|
|
15986
16522
|
};
|
|
15987
16523
|
|
|
15988
16524
|
module.exports = SelectEventPlugin;
|
|
15989
|
-
},{"115":115,"146":146,"159":159,"16":16,"168":168,"177":177,"182":182,"20":20,"
|
|
16525
|
+
},{"115":115,"146":146,"159":159,"16":16,"168":168,"177":177,"182":182,"20":20,"45":45,"74":74}],110:[function(_dereq_,module,exports){
|
|
15990
16526
|
/**
|
|
15991
16527
|
* Copyright 2013-present, Facebook, Inc.
|
|
15992
16528
|
* All rights reserved.
|
|
@@ -16003,7 +16539,7 @@ module.exports = SelectEventPlugin;
|
|
|
16003
16539
|
var EventConstants = _dereq_(16);
|
|
16004
16540
|
var EventListener = _dereq_(158);
|
|
16005
16541
|
var EventPropagators = _dereq_(20);
|
|
16006
|
-
var ReactDOMComponentTree = _dereq_(
|
|
16542
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
16007
16543
|
var SyntheticAnimationEvent = _dereq_(111);
|
|
16008
16544
|
var SyntheticClipboardEvent = _dereq_(112);
|
|
16009
16545
|
var SyntheticEvent = _dereq_(115);
|
|
@@ -16614,7 +17150,7 @@ var SimpleEventPlugin = {
|
|
|
16614
17150
|
};
|
|
16615
17151
|
|
|
16616
17152
|
module.exports = SimpleEventPlugin;
|
|
16617
|
-
},{"111":111,"112":112,"114":114,"115":115,"116":116,"118":118,"119":119,"120":120,"121":121,"122":122,"123":123,"135":135,"158":158,"16":16,"165":165,"173":173,"177":177,"20":20,"
|
|
17153
|
+
},{"111":111,"112":112,"114":114,"115":115,"116":116,"118":118,"119":119,"120":120,"121":121,"122":122,"123":123,"135":135,"158":158,"16":16,"165":165,"173":173,"177":177,"20":20,"45":45}],111:[function(_dereq_,module,exports){
|
|
16618
17154
|
/**
|
|
16619
17155
|
* Copyright 2013-present, Facebook, Inc.
|
|
16620
17156
|
* All rights reserved.
|
|
@@ -18016,9 +18552,9 @@ module.exports = escapeTextContentForBrowser;
|
|
|
18016
18552
|
|
|
18017
18553
|
'use strict';
|
|
18018
18554
|
|
|
18019
|
-
var ReactCurrentOwner = _dereq_(
|
|
18020
|
-
var ReactDOMComponentTree = _dereq_(
|
|
18021
|
-
var ReactInstanceMap = _dereq_(
|
|
18555
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
18556
|
+
var ReactDOMComponentTree = _dereq_(45);
|
|
18557
|
+
var ReactInstanceMap = _dereq_(75);
|
|
18022
18558
|
|
|
18023
18559
|
var getNativeComponentFromComposite = _dereq_(140);
|
|
18024
18560
|
var invariant = _dereq_(173);
|
|
@@ -18027,6 +18563,8 @@ var warning = _dereq_(183);
|
|
|
18027
18563
|
/**
|
|
18028
18564
|
* Returns the DOM node rendered by this element.
|
|
18029
18565
|
*
|
|
18566
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode
|
|
18567
|
+
*
|
|
18030
18568
|
* @param {ReactComponent|DOMElement} componentOrElement
|
|
18031
18569
|
* @return {?DOMElement} The root node of this element.
|
|
18032
18570
|
*/
|
|
@@ -18059,7 +18597,7 @@ function findDOMNode(componentOrElement) {
|
|
|
18059
18597
|
}
|
|
18060
18598
|
|
|
18061
18599
|
module.exports = findDOMNode;
|
|
18062
|
-
},{"140":140,"173":173,"183":183,"
|
|
18600
|
+
},{"140":140,"173":173,"183":183,"40":40,"45":45,"75":75}],133:[function(_dereq_,module,exports){
|
|
18063
18601
|
/**
|
|
18064
18602
|
* Copyright 2013-present, Facebook, Inc.
|
|
18065
18603
|
* All rights reserved.
|
|
@@ -18673,9 +19211,10 @@ module.exports = getVendorPrefixedEventName;
|
|
|
18673
19211
|
|
|
18674
19212
|
var _assign = _dereq_(184);
|
|
18675
19213
|
|
|
18676
|
-
var ReactCompositeComponent = _dereq_(
|
|
18677
|
-
var ReactEmptyComponent = _dereq_(
|
|
18678
|
-
var ReactNativeComponent = _dereq_(
|
|
19214
|
+
var ReactCompositeComponent = _dereq_(39);
|
|
19215
|
+
var ReactEmptyComponent = _dereq_(67);
|
|
19216
|
+
var ReactNativeComponent = _dereq_(83);
|
|
19217
|
+
var ReactInstrumentation = _dereq_(76);
|
|
18679
19218
|
|
|
18680
19219
|
var invariant = _dereq_(173);
|
|
18681
19220
|
var warning = _dereq_(183);
|
|
@@ -18698,6 +19237,21 @@ function getDeclarationErrorAddendum(owner) {
|
|
|
18698
19237
|
return '';
|
|
18699
19238
|
}
|
|
18700
19239
|
|
|
19240
|
+
function getDisplayName(instance) {
|
|
19241
|
+
var element = instance._currentElement;
|
|
19242
|
+
if (element == null) {
|
|
19243
|
+
return '#empty';
|
|
19244
|
+
} else if (typeof element === 'string' || typeof element === 'number') {
|
|
19245
|
+
return '#text';
|
|
19246
|
+
} else if (typeof element.type === 'string') {
|
|
19247
|
+
return element.type;
|
|
19248
|
+
} else if (instance.getName) {
|
|
19249
|
+
return instance.getName() || 'Unknown';
|
|
19250
|
+
} else {
|
|
19251
|
+
return element.type.displayName || element.type.name || 'Unknown';
|
|
19252
|
+
}
|
|
19253
|
+
}
|
|
19254
|
+
|
|
18701
19255
|
/**
|
|
18702
19256
|
* Check if the type reference is a known internal type. I.e. not a user
|
|
18703
19257
|
* provided composite type.
|
|
@@ -18709,6 +19263,8 @@ function isInternalComponentType(type) {
|
|
|
18709
19263
|
return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';
|
|
18710
19264
|
}
|
|
18711
19265
|
|
|
19266
|
+
var nextDebugID = 1;
|
|
19267
|
+
|
|
18712
19268
|
/**
|
|
18713
19269
|
* Given a ReactNode, create an instance that will actually be mounted.
|
|
18714
19270
|
*
|
|
@@ -18719,7 +19275,8 @@ function isInternalComponentType(type) {
|
|
|
18719
19275
|
function instantiateReactComponent(node) {
|
|
18720
19276
|
var instance;
|
|
18721
19277
|
|
|
18722
|
-
|
|
19278
|
+
var isEmpty = node === null || node === false;
|
|
19279
|
+
if (isEmpty) {
|
|
18723
19280
|
instance = ReactEmptyComponent.create(instantiateReactComponent);
|
|
18724
19281
|
} else if (typeof node === 'object') {
|
|
18725
19282
|
var element = node;
|
|
@@ -18757,6 +19314,18 @@ function instantiateReactComponent(node) {
|
|
|
18757
19314
|
instance._warnedAboutRefsInRender = false;
|
|
18758
19315
|
}
|
|
18759
19316
|
|
|
19317
|
+
if ("development" !== 'production') {
|
|
19318
|
+
var debugID = isEmpty ? 0 : nextDebugID++;
|
|
19319
|
+
instance._debugID = debugID;
|
|
19320
|
+
|
|
19321
|
+
var displayName = getDisplayName(instance);
|
|
19322
|
+
ReactInstrumentation.debugTool.onSetDisplayName(debugID, displayName);
|
|
19323
|
+
var owner = node && node._owner;
|
|
19324
|
+
if (owner) {
|
|
19325
|
+
ReactInstrumentation.debugTool.onSetOwner(debugID, owner._debugID);
|
|
19326
|
+
}
|
|
19327
|
+
}
|
|
19328
|
+
|
|
18760
19329
|
// Internal instances should fully constructed at this point, so they should
|
|
18761
19330
|
// not get any new fields added to them at this point.
|
|
18762
19331
|
if ("development" !== 'production') {
|
|
@@ -18769,7 +19338,7 @@ function instantiateReactComponent(node) {
|
|
|
18769
19338
|
}
|
|
18770
19339
|
|
|
18771
19340
|
module.exports = instantiateReactComponent;
|
|
18772
|
-
},{"173":173,"183":183,"184":184,"
|
|
19341
|
+
},{"173":173,"183":183,"184":184,"39":39,"67":67,"76":76,"83":83}],145:[function(_dereq_,module,exports){
|
|
18773
19342
|
/**
|
|
18774
19343
|
* Copyright 2013-present, Facebook, Inc.
|
|
18775
19344
|
* All rights reserved.
|
|
@@ -18885,16 +19454,19 @@ module.exports = isTextInputElement;
|
|
|
18885
19454
|
*/
|
|
18886
19455
|
'use strict';
|
|
18887
19456
|
|
|
18888
|
-
var ReactElement = _dereq_(
|
|
19457
|
+
var ReactElement = _dereq_(65);
|
|
18889
19458
|
|
|
18890
19459
|
var invariant = _dereq_(173);
|
|
18891
19460
|
|
|
18892
19461
|
/**
|
|
18893
19462
|
* Returns the first child in a collection of children and verifies that there
|
|
18894
|
-
* is only one child in the collection.
|
|
18895
|
-
*
|
|
18896
|
-
*
|
|
18897
|
-
*
|
|
19463
|
+
* is only one child in the collection.
|
|
19464
|
+
*
|
|
19465
|
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.children.only
|
|
19466
|
+
*
|
|
19467
|
+
* The current implementation of this function assumes that a single child gets
|
|
19468
|
+
* passed without a wrapper, but the purpose of this helper function is to
|
|
19469
|
+
* abstract away the particular structure of children.
|
|
18898
19470
|
*
|
|
18899
19471
|
* @param {?object} children Child collection structure.
|
|
18900
19472
|
* @return {ReactElement} The first and only `ReactElement` contained in the
|
|
@@ -18906,7 +19478,7 @@ function onlyChild(children) {
|
|
|
18906
19478
|
}
|
|
18907
19479
|
|
|
18908
19480
|
module.exports = onlyChild;
|
|
18909
|
-
},{"173":173,"
|
|
19481
|
+
},{"173":173,"65":65}],148:[function(_dereq_,module,exports){
|
|
18910
19482
|
/**
|
|
18911
19483
|
* Copyright 2013-present, Facebook, Inc.
|
|
18912
19484
|
* All rights reserved.
|
|
@@ -18947,10 +19519,10 @@ module.exports = quoteAttributeValueForBrowser;
|
|
|
18947
19519
|
|
|
18948
19520
|
'use strict';
|
|
18949
19521
|
|
|
18950
|
-
var ReactMount = _dereq_(
|
|
19522
|
+
var ReactMount = _dereq_(80);
|
|
18951
19523
|
|
|
18952
19524
|
module.exports = ReactMount.renderSubtreeIntoContainer;
|
|
18953
|
-
},{"
|
|
19525
|
+
},{"80":80}],150:[function(_dereq_,module,exports){
|
|
18954
19526
|
/**
|
|
18955
19527
|
* Copyright 2013-present, Facebook, Inc.
|
|
18956
19528
|
* All rights reserved.
|
|
@@ -19093,6 +19665,7 @@ var shallowEqual = _dereq_(182);
|
|
|
19093
19665
|
/**
|
|
19094
19666
|
* Does a shallow comparison for props and state.
|
|
19095
19667
|
* See ReactComponentWithPureRenderMixin
|
|
19668
|
+
* See also https://facebook.github.io/react/docs/shallow-compare.html
|
|
19096
19669
|
*/
|
|
19097
19670
|
function shallowCompare(instance, nextProps, nextState) {
|
|
19098
19671
|
return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);
|
|
@@ -19156,8 +19729,8 @@ module.exports = shouldUpdateReactComponent;
|
|
|
19156
19729
|
|
|
19157
19730
|
'use strict';
|
|
19158
19731
|
|
|
19159
|
-
var ReactCurrentOwner = _dereq_(
|
|
19160
|
-
var ReactElement = _dereq_(
|
|
19732
|
+
var ReactCurrentOwner = _dereq_(40);
|
|
19733
|
+
var ReactElement = _dereq_(65);
|
|
19161
19734
|
|
|
19162
19735
|
var getIteratorFn = _dereq_(139);
|
|
19163
19736
|
var invariant = _dereq_(173);
|
|
@@ -19301,7 +19874,7 @@ function traverseAllChildren(children, callback, traverseContext) {
|
|
|
19301
19874
|
}
|
|
19302
19875
|
|
|
19303
19876
|
module.exports = traverseAllChildren;
|
|
19304
|
-
},{"139":139,"173":173,"183":183,"23":23,"
|
|
19877
|
+
},{"139":139,"173":173,"183":183,"23":23,"40":40,"65":65}],155:[function(_dereq_,module,exports){
|
|
19305
19878
|
/**
|
|
19306
19879
|
* Copyright 2013-present, Facebook, Inc.
|
|
19307
19880
|
* All rights reserved.
|
|
@@ -19354,6 +19927,10 @@ function invariantArrayCase(value, spec, command) {
|
|
|
19354
19927
|
!Array.isArray(specValue) ? "development" !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : void 0;
|
|
19355
19928
|
}
|
|
19356
19929
|
|
|
19930
|
+
/**
|
|
19931
|
+
* Returns a updated shallow copy of an object without mutating the original.
|
|
19932
|
+
* See https://facebook.github.io/react/docs/update.html for details.
|
|
19933
|
+
*/
|
|
19357
19934
|
function update(value, spec) {
|
|
19358
19935
|
!(typeof spec === 'object') ? "development" !== 'production' ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : void 0;
|
|
19359
19936
|
|
|
@@ -21121,8 +21698,8 @@ if ("development" !== 'production') {
|
|
|
21121
21698
|
|
|
21122
21699
|
module.exports = warning;
|
|
21123
21700
|
},{"165":165}],184:[function(_dereq_,module,exports){
|
|
21124
|
-
/* eslint-disable no-unused-vars */
|
|
21125
21701
|
'use strict';
|
|
21702
|
+
/* eslint-disable no-unused-vars */
|
|
21126
21703
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
21127
21704
|
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
|
21128
21705
|
|
|
@@ -21134,7 +21711,51 @@ function toObject(val) {
|
|
|
21134
21711
|
return Object(val);
|
|
21135
21712
|
}
|
|
21136
21713
|
|
|
21137
|
-
|
|
21714
|
+
function shouldUseNative() {
|
|
21715
|
+
try {
|
|
21716
|
+
if (!Object.assign) {
|
|
21717
|
+
return false;
|
|
21718
|
+
}
|
|
21719
|
+
|
|
21720
|
+
// Detect buggy property enumeration order in older V8 versions.
|
|
21721
|
+
|
|
21722
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
|
21723
|
+
var test1 = new String('abc'); // eslint-disable-line
|
|
21724
|
+
test1[5] = 'de';
|
|
21725
|
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
|
21726
|
+
return false;
|
|
21727
|
+
}
|
|
21728
|
+
|
|
21729
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
21730
|
+
var test2 = {};
|
|
21731
|
+
for (var i = 0; i < 10; i++) {
|
|
21732
|
+
test2['_' + String.fromCharCode(i)] = i;
|
|
21733
|
+
}
|
|
21734
|
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
|
21735
|
+
return test2[n];
|
|
21736
|
+
});
|
|
21737
|
+
if (order2.join('') !== '0123456789') {
|
|
21738
|
+
return false;
|
|
21739
|
+
}
|
|
21740
|
+
|
|
21741
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
21742
|
+
var test3 = {};
|
|
21743
|
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
|
21744
|
+
test3[letter] = letter;
|
|
21745
|
+
});
|
|
21746
|
+
if (Object.keys(Object.assign({}, test3)).join('') !==
|
|
21747
|
+
'abcdefghijklmnopqrst') {
|
|
21748
|
+
return false;
|
|
21749
|
+
}
|
|
21750
|
+
|
|
21751
|
+
return true;
|
|
21752
|
+
} catch (e) {
|
|
21753
|
+
// We don't expect any of the above to throw, but better to be safe.
|
|
21754
|
+
return false;
|
|
21755
|
+
}
|
|
21756
|
+
}
|
|
21757
|
+
|
|
21758
|
+
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
|
21138
21759
|
var from;
|
|
21139
21760
|
var to = toObject(target);
|
|
21140
21761
|
var symbols;
|