react-dom 15.5.3 → 15.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/react-dom-server.js +722 -604
  2. package/dist/react-dom-server.min.js +5 -5
  3. package/dist/react-dom.js +849 -659
  4. package/dist/react-dom.min.js +6 -5
  5. package/lib/BeforeInputEventPlugin.js +0 -1
  6. package/lib/CSSProperty.js +6 -0
  7. package/lib/CSSPropertyOperations.js +14 -8
  8. package/lib/ChangeEventPlugin.js +49 -83
  9. package/lib/DOMChildrenOperations.js +4 -3
  10. package/lib/DOMProperty.js +0 -1
  11. package/lib/DOMPropertyOperations.js +0 -2
  12. package/lib/Danger.js +0 -2
  13. package/lib/EnterLeaveEventPlugin.js +0 -2
  14. package/lib/EventPluginHub.js +0 -4
  15. package/lib/EventPluginRegistry.js +0 -2
  16. package/lib/LinkedValueUtils.js +7 -7
  17. package/lib/ReactBrowserEventEmitter.js +0 -4
  18. package/lib/ReactChildFiber.js +0 -1
  19. package/lib/ReactChildReconciler.js +4 -5
  20. package/lib/ReactComponentBrowserEnvironment.js +0 -2
  21. package/lib/ReactComponentEnvironment.js +0 -2
  22. package/lib/ReactCompositeComponent.js +1 -3
  23. package/lib/ReactDOM.js +2 -2
  24. package/lib/ReactDOMComponent.js +33 -24
  25. package/lib/ReactDOMFiber.js +0 -1
  26. package/lib/ReactDOMIDOperations.js +0 -1
  27. package/lib/ReactDOMInput.js +5 -3
  28. package/lib/ReactDOMOption.js +0 -1
  29. package/lib/ReactDOMTextComponent.js +0 -2
  30. package/lib/ReactDebugTool.js +3 -1
  31. package/lib/ReactEventEmitterMixin.js +0 -1
  32. package/lib/ReactFiber.js +0 -2
  33. package/lib/ReactFiberBeginWork.js +0 -1
  34. package/lib/ReactFiberCommitWork.js +0 -1
  35. package/lib/ReactFiberCompleteWork.js +0 -2
  36. package/lib/ReactInputSelection.js +0 -1
  37. package/lib/ReactInstanceMap.js +0 -2
  38. package/lib/ReactMount.js +7 -7
  39. package/lib/ReactMultiChild.js +0 -4
  40. package/lib/ReactOwner.js +0 -1
  41. package/lib/ReactPerf.js +6 -6
  42. package/lib/ReactPriorityLevel.js +2 -1
  43. package/lib/ReactReconciler.js +2 -4
  44. package/lib/ReactShallowRenderer.js +6 -0
  45. package/lib/ReactSimpleEmptyComponent.js +2 -2
  46. package/lib/ReactTestUtils.js +1 -0
  47. package/lib/ReactUpdateQueue.js +1 -3
  48. package/lib/ReactVersion.js +1 -1
  49. package/lib/ResponderEventPlugin.js +0 -2
  50. package/lib/SelectEventPlugin.js +0 -3
  51. package/lib/SimpleEventPlugin.js +0 -2
  52. package/lib/SyntheticEvent.js +4 -6
  53. package/lib/SyntheticWheelEvent.js +3 -6
  54. package/lib/TapEventPlugin.js +0 -2
  55. package/lib/Transaction.js +3 -0
  56. package/lib/ViewportMetrics.js +0 -2
  57. package/lib/dangerousStyleValue.js +2 -2
  58. package/lib/deprecated.js +3 -3
  59. package/lib/escapeTextContentForBrowser.js +0 -1
  60. package/lib/getEventKey.js +24 -14
  61. package/lib/getEventModifierState.js +4 -4
  62. package/lib/inputValueTracking.js +122 -0
  63. package/lib/instantiateReactComponent.js +1 -1
  64. package/lib/isTextInputElement.js +14 -14
  65. package/lib/lowPriorityWarning.js +64 -0
  66. package/lib/setInnerHTML.js +1 -1
  67. package/lib/traverseAllChildren.js +1 -1
  68. package/lib/validateDOMNesting.js +1 -7
  69. package/package.json +3 -3
package/dist/react-dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ReactDOM v15.5.3
2
+ * ReactDOM v15.6.1
3
3
  */
4
4
 
5
5
  ;(function(f) {
@@ -118,7 +118,7 @@ module.exports = ARIADOMPropertyConfig;
118
118
 
119
119
  var ReactDOMComponentTree = _dereq_(34);
120
120
 
121
- var focusNode = _dereq_(144);
121
+ var focusNode = _dereq_(146);
122
122
 
123
123
  var AutoFocusUtils = {
124
124
  focusDOMComponent: function () {
@@ -127,7 +127,7 @@ var AutoFocusUtils = {
127
127
  };
128
128
 
129
129
  module.exports = AutoFocusUtils;
130
- },{"144":144,"34":34}],3:[function(_dereq_,module,exports){
130
+ },{"146":146,"34":34}],3:[function(_dereq_,module,exports){
131
131
  /**
132
132
  * Copyright 2013-present Facebook, Inc.
133
133
  * All rights reserved.
@@ -141,7 +141,7 @@ module.exports = AutoFocusUtils;
141
141
  'use strict';
142
142
 
143
143
  var EventPropagators = _dereq_(20);
144
- var ExecutionEnvironment = _dereq_(136);
144
+ var ExecutionEnvironment = _dereq_(138);
145
145
  var FallbackCompositionState = _dereq_(21);
146
146
  var SyntheticCompositionEvent = _dereq_(89);
147
147
  var SyntheticInputEvent = _dereq_(93);
@@ -503,7 +503,6 @@ function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEv
503
503
  * `composition` event types.
504
504
  */
505
505
  var BeforeInputEventPlugin = {
506
-
507
506
  eventTypes: eventTypes,
508
507
 
509
508
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -512,7 +511,7 @@ var BeforeInputEventPlugin = {
512
511
  };
513
512
 
514
513
  module.exports = BeforeInputEventPlugin;
515
- },{"136":136,"20":20,"21":21,"89":89,"93":93}],4:[function(_dereq_,module,exports){
514
+ },{"138":138,"20":20,"21":21,"89":89,"93":93}],4:[function(_dereq_,module,exports){
516
515
  /**
517
516
  * Copyright 2013-present, Facebook, Inc.
518
517
  * All rights reserved.
@@ -545,7 +544,13 @@ var isUnitlessNumber = {
545
544
  flexNegative: true,
546
545
  flexOrder: true,
547
546
  gridRow: true,
547
+ gridRowEnd: true,
548
+ gridRowSpan: true,
549
+ gridRowStart: true,
548
550
  gridColumn: true,
551
+ gridColumnEnd: true,
552
+ gridColumnSpan: true,
553
+ gridColumnStart: true,
549
554
  fontWeight: true,
550
555
  lineClamp: true,
551
556
  lineHeight: true,
@@ -674,14 +679,14 @@ module.exports = CSSProperty;
674
679
  'use strict';
675
680
 
676
681
  var CSSProperty = _dereq_(4);
677
- var ExecutionEnvironment = _dereq_(136);
682
+ var ExecutionEnvironment = _dereq_(138);
678
683
  var ReactInstrumentation = _dereq_(64);
679
684
 
680
- var camelizeStyleName = _dereq_(138);
685
+ var camelizeStyleName = _dereq_(140);
681
686
  var dangerousStyleValue = _dereq_(106);
682
- var hyphenateStyleName = _dereq_(149);
683
- var memoizeStringOnly = _dereq_(153);
684
- var warning = _dereq_(157);
687
+ var hyphenateStyleName = _dereq_(151);
688
+ var memoizeStringOnly = _dereq_(155);
689
+ var warning = _dereq_(159);
685
690
 
686
691
  var processStyleName = memoizeStringOnly(function (styleName) {
687
692
  return hyphenateStyleName(styleName);
@@ -738,7 +743,7 @@ if ("development" !== 'production') {
738
743
  }
739
744
 
740
745
  warnedStyleValues[value] = true;
741
- "development" !== 'production' ? warning(false, 'Style property values shouldn\'t contain a semicolon.%s ' + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;
746
+ "development" !== 'production' ? warning(false, "Style property values shouldn't contain a semicolon.%s " + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;
742
747
  };
743
748
 
744
749
  var warnStyleValueIsNaN = function (name, value, owner) {
@@ -788,7 +793,6 @@ if ("development" !== 'production') {
788
793
  * Operations for dealing with CSS properties.
789
794
  */
790
795
  var CSSPropertyOperations = {
791
-
792
796
  /**
793
797
  * Serializes a mapping of style properties for use as inline styles:
794
798
  *
@@ -808,13 +812,16 @@ var CSSPropertyOperations = {
808
812
  if (!styles.hasOwnProperty(styleName)) {
809
813
  continue;
810
814
  }
815
+ var isCustomProperty = styleName.indexOf('--') === 0;
811
816
  var styleValue = styles[styleName];
812
817
  if ("development" !== 'production') {
813
- warnValidStyle(styleName, styleValue, component);
818
+ if (!isCustomProperty) {
819
+ warnValidStyle(styleName, styleValue, component);
820
+ }
814
821
  }
815
822
  if (styleValue != null) {
816
823
  serialized += processStyleName(styleName) + ':';
817
- serialized += dangerousStyleValue(styleName, styleValue, component) + ';';
824
+ serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';';
818
825
  }
819
826
  }
820
827
  return serialized || null;
@@ -842,14 +849,19 @@ var CSSPropertyOperations = {
842
849
  if (!styles.hasOwnProperty(styleName)) {
843
850
  continue;
844
851
  }
852
+ var isCustomProperty = styleName.indexOf('--') === 0;
845
853
  if ("development" !== 'production') {
846
- warnValidStyle(styleName, styles[styleName], component);
854
+ if (!isCustomProperty) {
855
+ warnValidStyle(styleName, styles[styleName], component);
856
+ }
847
857
  }
848
- var styleValue = dangerousStyleValue(styleName, styles[styleName], component);
858
+ var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty);
849
859
  if (styleName === 'float' || styleName === 'cssFloat') {
850
860
  styleName = styleFloatAccessor;
851
861
  }
852
- if (styleValue) {
862
+ if (isCustomProperty) {
863
+ style.setProperty(styleName, styleValue);
864
+ } else if (styleValue) {
853
865
  style[styleName] = styleValue;
854
866
  } else {
855
867
  var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];
@@ -865,11 +877,10 @@ var CSSPropertyOperations = {
865
877
  }
866
878
  }
867
879
  }
868
-
869
880
  };
870
881
 
871
882
  module.exports = CSSPropertyOperations;
872
- },{"106":106,"136":136,"138":138,"149":149,"153":153,"157":157,"4":4,"64":64}],6:[function(_dereq_,module,exports){
883
+ },{"106":106,"138":138,"140":140,"151":151,"155":155,"159":159,"4":4,"64":64}],6:[function(_dereq_,module,exports){
873
884
  /**
874
885
  * Copyright 2013-present, Facebook, Inc.
875
886
  * All rights reserved.
@@ -883,13 +894,13 @@ module.exports = CSSPropertyOperations;
883
894
 
884
895
  'use strict';
885
896
 
886
- var _prodInvariant = _dereq_(124);
897
+ var _prodInvariant = _dereq_(126);
887
898
 
888
899
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
889
900
 
890
901
  var PooledClass = _dereq_(25);
891
902
 
892
- var invariant = _dereq_(150);
903
+ var invariant = _dereq_(152);
893
904
 
894
905
  /**
895
906
  * A specialized pseudo-event module to help keep track of components waiting to
@@ -988,7 +999,7 @@ var CallbackQueue = function () {
988
999
  }();
989
1000
 
990
1001
  module.exports = PooledClass.addPoolingTo(CallbackQueue);
991
- },{"124":124,"150":150,"25":25}],7:[function(_dereq_,module,exports){
1002
+ },{"126":126,"152":152,"25":25}],7:[function(_dereq_,module,exports){
992
1003
  /**
993
1004
  * Copyright 2013-present, Facebook, Inc.
994
1005
  * All rights reserved.
@@ -1003,14 +1014,15 @@ module.exports = PooledClass.addPoolingTo(CallbackQueue);
1003
1014
 
1004
1015
  var EventPluginHub = _dereq_(17);
1005
1016
  var EventPropagators = _dereq_(20);
1006
- var ExecutionEnvironment = _dereq_(136);
1017
+ var ExecutionEnvironment = _dereq_(138);
1007
1018
  var ReactDOMComponentTree = _dereq_(34);
1008
1019
  var ReactUpdates = _dereq_(82);
1009
1020
  var SyntheticEvent = _dereq_(91);
1010
1021
 
1022
+ var inputValueTracking = _dereq_(120);
1011
1023
  var getEventTarget = _dereq_(114);
1012
- var isEventSupported = _dereq_(121);
1013
- var isTextInputElement = _dereq_(122);
1024
+ var isEventSupported = _dereq_(122);
1025
+ var isTextInputElement = _dereq_(123);
1014
1026
 
1015
1027
  var eventTypes = {
1016
1028
  change: {
@@ -1022,13 +1034,17 @@ var eventTypes = {
1022
1034
  }
1023
1035
  };
1024
1036
 
1037
+ function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
1038
+ var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);
1039
+ event.type = 'change';
1040
+ EventPropagators.accumulateTwoPhaseDispatches(event);
1041
+ return event;
1042
+ }
1025
1043
  /**
1026
1044
  * For IE shims
1027
1045
  */
1028
1046
  var activeElement = null;
1029
1047
  var activeElementInst = null;
1030
- var activeElementValue = null;
1031
- var activeElementValueProp = null;
1032
1048
 
1033
1049
  /**
1034
1050
  * SECTION: handle `change` event
@@ -1045,8 +1061,7 @@ if (ExecutionEnvironment.canUseDOM) {
1045
1061
  }
1046
1062
 
1047
1063
  function manualDispatchChangeEvent(nativeEvent) {
1048
- var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent));
1049
- EventPropagators.accumulateTwoPhaseDispatches(event);
1064
+ var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));
1050
1065
 
1051
1066
  // If change and propertychange bubbled, we'd just bind to it like all the
1052
1067
  // other events and have it go through ReactBrowserEventEmitter. Since it
@@ -1082,11 +1097,21 @@ function stopWatchingForChangeEventIE8() {
1082
1097
  activeElementInst = null;
1083
1098
  }
1084
1099
 
1100
+ function getInstIfValueChanged(targetInst, nativeEvent) {
1101
+ var updated = inputValueTracking.updateValueIfChanged(targetInst);
1102
+ var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;
1103
+
1104
+ if (updated || simulated) {
1105
+ return targetInst;
1106
+ }
1107
+ }
1108
+
1085
1109
  function getTargetInstForChangeEvent(topLevelType, targetInst) {
1086
1110
  if (topLevelType === 'topChange') {
1087
1111
  return targetInst;
1088
1112
  }
1089
1113
  }
1114
+
1090
1115
  function handleEventsForChangeEventIE8(topLevelType, target, targetInst) {
1091
1116
  if (topLevelType === 'topFocus') {
1092
1117
  // stopWatching() should be a noop here but we call it just in case we
@@ -1105,105 +1130,54 @@ var isInputEventSupported = false;
1105
1130
  if (ExecutionEnvironment.canUseDOM) {
1106
1131
  // IE9 claims to support the input event but fails to trigger it when
1107
1132
  // deleting text, so we ignore its input events.
1108
- // IE10+ fire input events to often, such when a placeholder
1109
- // changes or when an input with a placeholder is focused.
1110
- isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11);
1111
- }
1112
1133
 
1113
- /**
1114
- * (For IE <=11) Replacement getter/setter for the `value` property that gets
1115
- * set on the active element.
1116
- */
1117
- var newValueProp = {
1118
- get: function () {
1119
- return activeElementValueProp.get.call(this);
1120
- },
1121
- set: function (val) {
1122
- // Cast to a string so we can do equality checks.
1123
- activeElementValue = '' + val;
1124
- activeElementValueProp.set.call(this, val);
1125
- }
1126
- };
1134
+ isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 9);
1135
+ }
1127
1136
 
1128
1137
  /**
1129
- * (For IE <=11) Starts tracking propertychange events on the passed-in element
1138
+ * (For IE <=9) Starts tracking propertychange events on the passed-in element
1130
1139
  * and override the value property so that we can distinguish user events from
1131
1140
  * value changes in JS.
1132
1141
  */
1133
1142
  function startWatchingForValueChange(target, targetInst) {
1134
1143
  activeElement = target;
1135
1144
  activeElementInst = targetInst;
1136
- activeElementValue = target.value;
1137
- activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value');
1138
-
1139
- // Not guarded in a canDefineProperty check: IE8 supports defineProperty only
1140
- // on DOM elements
1141
- Object.defineProperty(activeElement, 'value', newValueProp);
1142
- if (activeElement.attachEvent) {
1143
- activeElement.attachEvent('onpropertychange', handlePropertyChange);
1144
- } else {
1145
- activeElement.addEventListener('propertychange', handlePropertyChange, false);
1146
- }
1145
+ activeElement.attachEvent('onpropertychange', handlePropertyChange);
1147
1146
  }
1148
1147
 
1149
1148
  /**
1150
- * (For IE <=11) Removes the event listeners from the currently-tracked element,
1149
+ * (For IE <=9) Removes the event listeners from the currently-tracked element,
1151
1150
  * if any exists.
1152
1151
  */
1153
1152
  function stopWatchingForValueChange() {
1154
1153
  if (!activeElement) {
1155
1154
  return;
1156
1155
  }
1157
-
1158
- // delete restores the original property definition
1159
- delete activeElement.value;
1160
-
1161
- if (activeElement.detachEvent) {
1162
- activeElement.detachEvent('onpropertychange', handlePropertyChange);
1163
- } else {
1164
- activeElement.removeEventListener('propertychange', handlePropertyChange, false);
1165
- }
1156
+ activeElement.detachEvent('onpropertychange', handlePropertyChange);
1166
1157
 
1167
1158
  activeElement = null;
1168
1159
  activeElementInst = null;
1169
- activeElementValue = null;
1170
- activeElementValueProp = null;
1171
1160
  }
1172
1161
 
1173
1162
  /**
1174
- * (For IE <=11) Handles a propertychange event, sending a `change` event if
1163
+ * (For IE <=9) Handles a propertychange event, sending a `change` event if
1175
1164
  * the value of the active element has changed.
1176
1165
  */
1177
1166
  function handlePropertyChange(nativeEvent) {
1178
1167
  if (nativeEvent.propertyName !== 'value') {
1179
1168
  return;
1180
1169
  }
1181
- var value = nativeEvent.srcElement.value;
1182
- if (value === activeElementValue) {
1183
- return;
1184
- }
1185
- activeElementValue = value;
1186
-
1187
- manualDispatchChangeEvent(nativeEvent);
1188
- }
1189
-
1190
- /**
1191
- * If a `change` event should be fired, returns the target's ID.
1192
- */
1193
- function getTargetInstForInputEvent(topLevelType, targetInst) {
1194
- if (topLevelType === 'topInput') {
1195
- // In modern browsers (i.e., not IE8 or IE9), the input event is exactly
1196
- // what we want so fall through here and trigger an abstract event
1197
- return targetInst;
1170
+ if (getInstIfValueChanged(activeElementInst, nativeEvent)) {
1171
+ manualDispatchChangeEvent(nativeEvent);
1198
1172
  }
1199
1173
  }
1200
1174
 
1201
- function handleEventsForInputEventIE(topLevelType, target, targetInst) {
1175
+ function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {
1202
1176
  if (topLevelType === 'topFocus') {
1203
1177
  // In IE8, we can capture almost all .value changes by adding a
1204
1178
  // propertychange handler and looking for events with propertyName
1205
1179
  // equal to 'value'
1206
- // In IE9-11, propertychange fires for most input events but is buggy and
1180
+ // In IE9, propertychange fires for most input events but is buggy and
1207
1181
  // doesn't fire when text is deleted, but conveniently, selectionchange
1208
1182
  // appears to fire in all of the remaining cases so we catch those and
1209
1183
  // forward the event if the value has changed
@@ -1221,7 +1195,7 @@ function handleEventsForInputEventIE(topLevelType, target, targetInst) {
1221
1195
  }
1222
1196
 
1223
1197
  // For IE8 and IE9.
1224
- function getTargetInstForInputEventIE(topLevelType, targetInst) {
1198
+ function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {
1225
1199
  if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {
1226
1200
  // On the selectionchange event, the target is just document which isn't
1227
1201
  // helpful for us so just check activeElement instead.
@@ -1233,10 +1207,7 @@ function getTargetInstForInputEventIE(topLevelType, targetInst) {
1233
1207
  // keystroke if user does a key repeat (it'll be a little delayed: right
1234
1208
  // before the second keystroke). Other input methods (e.g., paste) seem to
1235
1209
  // fire selectionchange normally.
1236
- if (activeElement && activeElement.value !== activeElementValue) {
1237
- activeElementValue = activeElement.value;
1238
- return activeElementInst;
1239
- }
1210
+ return getInstIfValueChanged(activeElementInst, nativeEvent);
1240
1211
  }
1241
1212
  }
1242
1213
 
@@ -1247,12 +1218,19 @@ function shouldUseClickEvent(elem) {
1247
1218
  // Use the `click` event to detect changes to checkbox and radio inputs.
1248
1219
  // This approach works across all browsers, whereas `change` does not fire
1249
1220
  // until `blur` in IE8.
1250
- return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
1221
+ var nodeName = elem.nodeName;
1222
+ return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
1251
1223
  }
1252
1224
 
1253
- function getTargetInstForClickEvent(topLevelType, targetInst) {
1225
+ function getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {
1254
1226
  if (topLevelType === 'topClick') {
1255
- return targetInst;
1227
+ return getInstIfValueChanged(targetInst, nativeEvent);
1228
+ }
1229
+ }
1230
+
1231
+ function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {
1232
+ if (topLevelType === 'topInput' || topLevelType === 'topChange') {
1233
+ return getInstIfValueChanged(targetInst, nativeEvent);
1256
1234
  }
1257
1235
  }
1258
1236
 
@@ -1287,9 +1265,11 @@ function handleControlledInputBlur(inst, node) {
1287
1265
  * - select
1288
1266
  */
1289
1267
  var ChangeEventPlugin = {
1290
-
1291
1268
  eventTypes: eventTypes,
1292
1269
 
1270
+ _allowSimulatedPassThrough: true,
1271
+ _isInputEventSupported: isInputEventSupported,
1272
+
1293
1273
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
1294
1274
  var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;
1295
1275
 
@@ -1302,21 +1282,19 @@ var ChangeEventPlugin = {
1302
1282
  }
1303
1283
  } else if (isTextInputElement(targetNode)) {
1304
1284
  if (isInputEventSupported) {
1305
- getTargetInstFunc = getTargetInstForInputEvent;
1285
+ getTargetInstFunc = getTargetInstForInputOrChangeEvent;
1306
1286
  } else {
1307
- getTargetInstFunc = getTargetInstForInputEventIE;
1308
- handleEventFunc = handleEventsForInputEventIE;
1287
+ getTargetInstFunc = getTargetInstForInputEventPolyfill;
1288
+ handleEventFunc = handleEventsForInputEventPolyfill;
1309
1289
  }
1310
1290
  } else if (shouldUseClickEvent(targetNode)) {
1311
1291
  getTargetInstFunc = getTargetInstForClickEvent;
1312
1292
  }
1313
1293
 
1314
1294
  if (getTargetInstFunc) {
1315
- var inst = getTargetInstFunc(topLevelType, targetInst);
1295
+ var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);
1316
1296
  if (inst) {
1317
- var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget);
1318
- event.type = 'change';
1319
- EventPropagators.accumulateTwoPhaseDispatches(event);
1297
+ var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
1320
1298
  return event;
1321
1299
  }
1322
1300
  }
@@ -1330,11 +1308,10 @@ var ChangeEventPlugin = {
1330
1308
  handleControlledInputBlur(targetInst, targetNode);
1331
1309
  }
1332
1310
  }
1333
-
1334
1311
  };
1335
1312
 
1336
1313
  module.exports = ChangeEventPlugin;
1337
- },{"114":114,"121":121,"122":122,"136":136,"17":17,"20":20,"34":34,"82":82,"91":91}],8:[function(_dereq_,module,exports){
1314
+ },{"114":114,"120":120,"122":122,"123":123,"138":138,"17":17,"20":20,"34":34,"82":82,"91":91}],8:[function(_dereq_,module,exports){
1338
1315
  /**
1339
1316
  * Copyright 2013-present, Facebook, Inc.
1340
1317
  * All rights reserved.
@@ -1353,8 +1330,8 @@ var ReactDOMComponentTree = _dereq_(34);
1353
1330
  var ReactInstrumentation = _dereq_(64);
1354
1331
 
1355
1332
  var createMicrosoftUnsafeLocalFunction = _dereq_(105);
1356
- var setInnerHTML = _dereq_(126);
1357
- var setTextContent = _dereq_(127);
1333
+ var setInnerHTML = _dereq_(128);
1334
+ var setTextContent = _dereq_(129);
1358
1335
 
1359
1336
  function getNodeAfter(parentNode, node) {
1360
1337
  // Special case for text components, which return [open, close] comments
@@ -1482,7 +1459,6 @@ if ("development" !== 'production') {
1482
1459
  * Operations for updating with DOM children.
1483
1460
  */
1484
1461
  var DOMChildrenOperations = {
1485
-
1486
1462
  dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,
1487
1463
 
1488
1464
  replaceDelimitedText: replaceDelimitedText,
@@ -1508,7 +1484,10 @@ var DOMChildrenOperations = {
1508
1484
  ReactInstrumentation.debugTool.onHostOperation({
1509
1485
  instanceID: parentNodeDebugID,
1510
1486
  type: 'insert child',
1511
- payload: { toIndex: update.toIndex, content: update.content.toString() }
1487
+ payload: {
1488
+ toIndex: update.toIndex,
1489
+ content: update.content.toString()
1490
+ }
1512
1491
  });
1513
1492
  }
1514
1493
  break;
@@ -1555,11 +1534,10 @@ var DOMChildrenOperations = {
1555
1534
  }
1556
1535
  }
1557
1536
  }
1558
-
1559
1537
  };
1560
1538
 
1561
1539
  module.exports = DOMChildrenOperations;
1562
- },{"105":105,"126":126,"127":127,"13":13,"34":34,"64":64,"9":9}],9:[function(_dereq_,module,exports){
1540
+ },{"105":105,"128":128,"129":129,"13":13,"34":34,"64":64,"9":9}],9:[function(_dereq_,module,exports){
1563
1541
  /**
1564
1542
  * Copyright 2015-present, Facebook, Inc.
1565
1543
  * All rights reserved.
@@ -1573,10 +1551,10 @@ module.exports = DOMChildrenOperations;
1573
1551
  'use strict';
1574
1552
 
1575
1553
  var DOMNamespaces = _dereq_(10);
1576
- var setInnerHTML = _dereq_(126);
1554
+ var setInnerHTML = _dereq_(128);
1577
1555
 
1578
1556
  var createMicrosoftUnsafeLocalFunction = _dereq_(105);
1579
- var setTextContent = _dereq_(127);
1557
+ var setTextContent = _dereq_(129);
1580
1558
 
1581
1559
  var ELEMENT_NODE_TYPE = 1;
1582
1560
  var DOCUMENT_FRAGMENT_NODE_TYPE = 11;
@@ -1677,7 +1655,7 @@ DOMLazyTree.queueHTML = queueHTML;
1677
1655
  DOMLazyTree.queueText = queueText;
1678
1656
 
1679
1657
  module.exports = DOMLazyTree;
1680
- },{"10":10,"105":105,"126":126,"127":127}],10:[function(_dereq_,module,exports){
1658
+ },{"10":10,"105":105,"128":128,"129":129}],10:[function(_dereq_,module,exports){
1681
1659
  /**
1682
1660
  * Copyright 2013-present, Facebook, Inc.
1683
1661
  * All rights reserved.
@@ -1710,9 +1688,9 @@ module.exports = DOMNamespaces;
1710
1688
 
1711
1689
  'use strict';
1712
1690
 
1713
- var _prodInvariant = _dereq_(124);
1691
+ var _prodInvariant = _dereq_(126);
1714
1692
 
1715
- var invariant = _dereq_(150);
1693
+ var invariant = _dereq_(152);
1716
1694
 
1717
1695
  function checkMask(value, bitmask) {
1718
1696
  return (value & bitmask) === bitmask;
@@ -1836,7 +1814,6 @@ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\
1836
1814
  * @see http://jsperf.com/key-missing
1837
1815
  */
1838
1816
  var DOMProperty = {
1839
-
1840
1817
  ID_ATTRIBUTE_NAME: 'data-reactid',
1841
1818
  ROOT_ATTRIBUTE_NAME: 'data-reactroot',
1842
1819
 
@@ -1907,7 +1884,7 @@ var DOMProperty = {
1907
1884
  };
1908
1885
 
1909
1886
  module.exports = DOMProperty;
1910
- },{"124":124,"150":150}],12:[function(_dereq_,module,exports){
1887
+ },{"126":126,"152":152}],12:[function(_dereq_,module,exports){
1911
1888
  /**
1912
1889
  * Copyright 2013-present, Facebook, Inc.
1913
1890
  * All rights reserved.
@@ -1924,8 +1901,8 @@ var DOMProperty = _dereq_(11);
1924
1901
  var ReactDOMComponentTree = _dereq_(34);
1925
1902
  var ReactInstrumentation = _dereq_(64);
1926
1903
 
1927
- var quoteAttributeValueForBrowser = _dereq_(123);
1928
- var warning = _dereq_(157);
1904
+ var quoteAttributeValueForBrowser = _dereq_(125);
1905
+ var warning = _dereq_(159);
1929
1906
 
1930
1907
  var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');
1931
1908
  var illegalAttributeNameCache = {};
@@ -1955,7 +1932,6 @@ function shouldIgnoreValue(propertyInfo, value) {
1955
1932
  * Operations for dealing with DOM properties.
1956
1933
  */
1957
1934
  var DOMPropertyOperations = {
1958
-
1959
1935
  /**
1960
1936
  * Creates markup for the ID property.
1961
1937
  *
@@ -2140,11 +2116,10 @@ var DOMPropertyOperations = {
2140
2116
  });
2141
2117
  }
2142
2118
  }
2143
-
2144
2119
  };
2145
2120
 
2146
2121
  module.exports = DOMPropertyOperations;
2147
- },{"11":11,"123":123,"157":157,"34":34,"64":64}],13:[function(_dereq_,module,exports){
2122
+ },{"11":11,"125":125,"159":159,"34":34,"64":64}],13:[function(_dereq_,module,exports){
2148
2123
  /**
2149
2124
  * Copyright 2013-present, Facebook, Inc.
2150
2125
  * All rights reserved.
@@ -2157,17 +2132,16 @@ module.exports = DOMPropertyOperations;
2157
2132
 
2158
2133
  'use strict';
2159
2134
 
2160
- var _prodInvariant = _dereq_(124);
2135
+ var _prodInvariant = _dereq_(126);
2161
2136
 
2162
2137
  var DOMLazyTree = _dereq_(9);
2163
- var ExecutionEnvironment = _dereq_(136);
2138
+ var ExecutionEnvironment = _dereq_(138);
2164
2139
 
2165
- var createNodesFromMarkup = _dereq_(141);
2166
- var emptyFunction = _dereq_(142);
2167
- var invariant = _dereq_(150);
2140
+ var createNodesFromMarkup = _dereq_(143);
2141
+ var emptyFunction = _dereq_(144);
2142
+ var invariant = _dereq_(152);
2168
2143
 
2169
2144
  var Danger = {
2170
-
2171
2145
  /**
2172
2146
  * Replaces a node with a string of markup at its current position within its
2173
2147
  * parent. The markup must render into a single root node.
@@ -2188,11 +2162,10 @@ var Danger = {
2188
2162
  DOMLazyTree.replaceChildWithTree(oldChild, markup);
2189
2163
  }
2190
2164
  }
2191
-
2192
2165
  };
2193
2166
 
2194
2167
  module.exports = Danger;
2195
- },{"124":124,"136":136,"141":141,"142":142,"150":150,"9":9}],14:[function(_dereq_,module,exports){
2168
+ },{"126":126,"138":138,"143":143,"144":144,"152":152,"9":9}],14:[function(_dereq_,module,exports){
2196
2169
  /**
2197
2170
  * Copyright 2013-present, Facebook, Inc.
2198
2171
  * All rights reserved.
@@ -2247,7 +2220,6 @@ var eventTypes = {
2247
2220
  };
2248
2221
 
2249
2222
  var EnterLeaveEventPlugin = {
2250
-
2251
2223
  eventTypes: eventTypes,
2252
2224
 
2253
2225
  /**
@@ -2314,7 +2286,6 @@ var EnterLeaveEventPlugin = {
2314
2286
 
2315
2287
  return [leave, enter];
2316
2288
  }
2317
-
2318
2289
  };
2319
2290
 
2320
2291
  module.exports = EnterLeaveEventPlugin;
@@ -2423,7 +2394,7 @@ module.exports = EventConstants;
2423
2394
 
2424
2395
  'use strict';
2425
2396
 
2426
- var _prodInvariant = _dereq_(124);
2397
+ var _prodInvariant = _dereq_(126);
2427
2398
 
2428
2399
  var EventPluginRegistry = _dereq_(18);
2429
2400
  var EventPluginUtils = _dereq_(19);
@@ -2431,7 +2402,7 @@ var ReactErrorUtils = _dereq_(55);
2431
2402
 
2432
2403
  var accumulateInto = _dereq_(102);
2433
2404
  var forEachAccumulated = _dereq_(110);
2434
- var invariant = _dereq_(150);
2405
+ var invariant = _dereq_(152);
2435
2406
 
2436
2407
  /**
2437
2408
  * Internal store for event listeners
@@ -2518,12 +2489,10 @@ function shouldPreventMouseEvent(name, type, props) {
2518
2489
  * @public
2519
2490
  */
2520
2491
  var EventPluginHub = {
2521
-
2522
2492
  /**
2523
2493
  * Methods for injecting dependencies.
2524
2494
  */
2525
2495
  injection: {
2526
-
2527
2496
  /**
2528
2497
  * @param {array} InjectedEventPluginOrder
2529
2498
  * @public
@@ -2534,7 +2503,6 @@ var EventPluginHub = {
2534
2503
  * @param {object} injectedNamesToPlugins Map from names to plugin modules.
2535
2504
  */
2536
2505
  injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName
2537
-
2538
2506
  },
2539
2507
 
2540
2508
  /**
@@ -2684,11 +2652,10 @@ var EventPluginHub = {
2684
2652
  __getListenerBank: function () {
2685
2653
  return listenerBank;
2686
2654
  }
2687
-
2688
2655
  };
2689
2656
 
2690
2657
  module.exports = EventPluginHub;
2691
- },{"102":102,"110":110,"124":124,"150":150,"18":18,"19":19,"55":55}],18:[function(_dereq_,module,exports){
2658
+ },{"102":102,"110":110,"126":126,"152":152,"18":18,"19":19,"55":55}],18:[function(_dereq_,module,exports){
2692
2659
  /**
2693
2660
  * Copyright 2013-present, Facebook, Inc.
2694
2661
  * All rights reserved.
@@ -2702,9 +2669,9 @@ module.exports = EventPluginHub;
2702
2669
 
2703
2670
  'use strict';
2704
2671
 
2705
- var _prodInvariant = _dereq_(124);
2672
+ var _prodInvariant = _dereq_(126);
2706
2673
 
2707
- var invariant = _dereq_(150);
2674
+ var invariant = _dereq_(152);
2708
2675
 
2709
2676
  /**
2710
2677
  * Injectable ordering of event plugins.
@@ -2799,7 +2766,6 @@ function publishRegistrationName(registrationName, pluginModule, eventName) {
2799
2766
  * @see {EventPluginHub}
2800
2767
  */
2801
2768
  var EventPluginRegistry = {
2802
-
2803
2769
  /**
2804
2770
  * Ordered list of injected plugins.
2805
2771
  */
@@ -2939,11 +2905,10 @@ var EventPluginRegistry = {
2939
2905
  }
2940
2906
  }
2941
2907
  }
2942
-
2943
2908
  };
2944
2909
 
2945
2910
  module.exports = EventPluginRegistry;
2946
- },{"124":124,"150":150}],19:[function(_dereq_,module,exports){
2911
+ },{"126":126,"152":152}],19:[function(_dereq_,module,exports){
2947
2912
  /**
2948
2913
  * Copyright 2013-present, Facebook, Inc.
2949
2914
  * All rights reserved.
@@ -2956,12 +2921,12 @@ module.exports = EventPluginRegistry;
2956
2921
 
2957
2922
  'use strict';
2958
2923
 
2959
- var _prodInvariant = _dereq_(124);
2924
+ var _prodInvariant = _dereq_(126);
2960
2925
 
2961
2926
  var ReactErrorUtils = _dereq_(55);
2962
2927
 
2963
- var invariant = _dereq_(150);
2964
- var warning = _dereq_(157);
2928
+ var invariant = _dereq_(152);
2929
+ var warning = _dereq_(159);
2965
2930
 
2966
2931
  /**
2967
2932
  * Injected dependencies:
@@ -3169,7 +3134,7 @@ var EventPluginUtils = {
3169
3134
  };
3170
3135
 
3171
3136
  module.exports = EventPluginUtils;
3172
- },{"124":124,"150":150,"157":157,"55":55}],20:[function(_dereq_,module,exports){
3137
+ },{"126":126,"152":152,"159":159,"55":55}],20:[function(_dereq_,module,exports){
3173
3138
  /**
3174
3139
  * Copyright 2013-present, Facebook, Inc.
3175
3140
  * All rights reserved.
@@ -3187,7 +3152,7 @@ var EventPluginUtils = _dereq_(19);
3187
3152
 
3188
3153
  var accumulateInto = _dereq_(102);
3189
3154
  var forEachAccumulated = _dereq_(110);
3190
- var warning = _dereq_(157);
3155
+ var warning = _dereq_(159);
3191
3156
 
3192
3157
  var getListener = EventPluginHub.getListener;
3193
3158
 
@@ -3303,7 +3268,7 @@ var EventPropagators = {
3303
3268
  };
3304
3269
 
3305
3270
  module.exports = EventPropagators;
3306
- },{"102":102,"110":110,"157":157,"17":17,"19":19}],21:[function(_dereq_,module,exports){
3271
+ },{"102":102,"110":110,"159":159,"17":17,"19":19}],21:[function(_dereq_,module,exports){
3307
3272
  /**
3308
3273
  * Copyright 2013-present, Facebook, Inc.
3309
3274
  * All rights reserved.
@@ -3316,7 +3281,7 @@ module.exports = EventPropagators;
3316
3281
 
3317
3282
  'use strict';
3318
3283
 
3319
- var _assign = _dereq_(158);
3284
+ var _assign = _dereq_(160);
3320
3285
 
3321
3286
  var PooledClass = _dereq_(25);
3322
3287
 
@@ -3398,7 +3363,7 @@ _assign(FallbackCompositionState.prototype, {
3398
3363
  PooledClass.addPoolingTo(FallbackCompositionState);
3399
3364
 
3400
3365
  module.exports = FallbackCompositionState;
3401
- },{"118":118,"158":158,"25":25}],22:[function(_dereq_,module,exports){
3366
+ },{"118":118,"160":160,"25":25}],22:[function(_dereq_,module,exports){
3402
3367
  /**
3403
3368
  * Copyright 2013-present, Facebook, Inc.
3404
3369
  * All rights reserved.
@@ -3706,25 +3671,25 @@ module.exports = KeyEscapeUtils;
3706
3671
 
3707
3672
  'use strict';
3708
3673
 
3709
- var _prodInvariant = _dereq_(124);
3674
+ var _prodInvariant = _dereq_(126);
3710
3675
 
3711
3676
  var ReactPropTypesSecret = _dereq_(73);
3712
- var propTypesFactory = _dereq_(160);
3677
+ var propTypesFactory = _dereq_(162);
3713
3678
 
3714
- var React = _dereq_(133);
3679
+ var React = _dereq_(135);
3715
3680
  var PropTypes = propTypesFactory(React.isValidElement);
3716
3681
 
3717
- var invariant = _dereq_(150);
3718
- var warning = _dereq_(157);
3682
+ var invariant = _dereq_(152);
3683
+ var warning = _dereq_(159);
3719
3684
 
3720
3685
  var hasReadOnlyValue = {
3721
- 'button': true,
3722
- 'checkbox': true,
3723
- 'image': true,
3724
- 'hidden': true,
3725
- 'radio': true,
3726
- 'reset': true,
3727
- 'submit': true
3686
+ button: true,
3687
+ checkbox: true,
3688
+ image: true,
3689
+ hidden: true,
3690
+ radio: true,
3691
+ reset: true,
3692
+ submit: true
3728
3693
  };
3729
3694
 
3730
3695
  function _assertSingleLink(inputProps) {
@@ -3831,7 +3796,7 @@ var LinkedValueUtils = {
3831
3796
  };
3832
3797
 
3833
3798
  module.exports = LinkedValueUtils;
3834
- },{"124":124,"133":133,"150":150,"157":157,"160":160,"73":73}],25:[function(_dereq_,module,exports){
3799
+ },{"126":126,"135":135,"152":152,"159":159,"162":162,"73":73}],25:[function(_dereq_,module,exports){
3835
3800
  /**
3836
3801
  * Copyright 2013-present, Facebook, Inc.
3837
3802
  * All rights reserved.
@@ -3845,9 +3810,9 @@ module.exports = LinkedValueUtils;
3845
3810
 
3846
3811
  'use strict';
3847
3812
 
3848
- var _prodInvariant = _dereq_(124);
3813
+ var _prodInvariant = _dereq_(126);
3849
3814
 
3850
- var invariant = _dereq_(150);
3815
+ var invariant = _dereq_(152);
3851
3816
 
3852
3817
  /**
3853
3818
  * Static poolers. Several custom versions for each potential number of
@@ -3943,7 +3908,7 @@ var PooledClass = {
3943
3908
  };
3944
3909
 
3945
3910
  module.exports = PooledClass;
3946
- },{"124":124,"150":150}],26:[function(_dereq_,module,exports){
3911
+ },{"126":126,"152":152}],26:[function(_dereq_,module,exports){
3947
3912
  /**
3948
3913
  * Copyright 2013-present, Facebook, Inc.
3949
3914
  * All rights reserved.
@@ -3956,14 +3921,14 @@ module.exports = PooledClass;
3956
3921
 
3957
3922
  'use strict';
3958
3923
 
3959
- var _assign = _dereq_(158);
3924
+ var _assign = _dereq_(160);
3960
3925
 
3961
3926
  var EventPluginRegistry = _dereq_(18);
3962
3927
  var ReactEventEmitterMixin = _dereq_(56);
3963
3928
  var ViewportMetrics = _dereq_(101);
3964
3929
 
3965
3930
  var getVendorPrefixedEventName = _dereq_(119);
3966
- var isEventSupported = _dereq_(121);
3931
+ var isEventSupported = _dereq_(122);
3967
3932
 
3968
3933
  /**
3969
3934
  * Summary of `ReactBrowserEventEmitter` event handling:
@@ -4121,7 +4086,6 @@ function getListeningForDocument(mountAt) {
4121
4086
  * @internal
4122
4087
  */
4123
4088
  var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4124
-
4125
4089
  /**
4126
4090
  * Injectable event backend
4127
4091
  */
@@ -4195,14 +4159,12 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4195
4159
  ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);
4196
4160
  }
4197
4161
  } else if (dependency === 'topScroll') {
4198
-
4199
4162
  if (isEventSupported('scroll', true)) {
4200
4163
  ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);
4201
4164
  } else {
4202
4165
  ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);
4203
4166
  }
4204
4167
  } else if (dependency === 'topFocus' || dependency === 'topBlur') {
4205
-
4206
4168
  if (isEventSupported('focus', true)) {
4207
4169
  ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);
4208
4170
  ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);
@@ -4267,11 +4229,10 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
4267
4229
  isMonitoringScrollValue = true;
4268
4230
  }
4269
4231
  }
4270
-
4271
4232
  });
4272
4233
 
4273
4234
  module.exports = ReactBrowserEventEmitter;
4274
- },{"101":101,"119":119,"121":121,"158":158,"18":18,"56":56}],27:[function(_dereq_,module,exports){
4235
+ },{"101":101,"119":119,"122":122,"160":160,"18":18,"56":56}],27:[function(_dereq_,module,exports){
4275
4236
  (function (process){
4276
4237
  /**
4277
4238
  * Copyright 2014-present, Facebook, Inc.
@@ -4287,11 +4248,11 @@ module.exports = ReactBrowserEventEmitter;
4287
4248
 
4288
4249
  var ReactReconciler = _dereq_(75);
4289
4250
 
4290
- var instantiateReactComponent = _dereq_(120);
4251
+ var instantiateReactComponent = _dereq_(121);
4291
4252
  var KeyEscapeUtils = _dereq_(23);
4292
- var shouldUpdateReactComponent = _dereq_(128);
4293
- var traverseAllChildren = _dereq_(129);
4294
- var warning = _dereq_(157);
4253
+ var shouldUpdateReactComponent = _dereq_(130);
4254
+ var traverseAllChildren = _dereq_(131);
4255
+ var warning = _dereq_(159);
4295
4256
 
4296
4257
  var ReactComponentTreeHook;
4297
4258
 
@@ -4301,7 +4262,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
4301
4262
  // https://github.com/facebook/react/issues/7240
4302
4263
  // Remove the inline requires when we don't need them anymore:
4303
4264
  // https://github.com/facebook/react/pull/7178
4304
- ReactComponentTreeHook = _dereq_(131);
4265
+ ReactComponentTreeHook = _dereq_(133);
4305
4266
  }
4306
4267
 
4307
4268
  function instantiateChild(childInstances, child, name, selfDebugID) {
@@ -4309,7 +4270,7 @@ function instantiateChild(childInstances, child, name, selfDebugID) {
4309
4270
  var keyUnique = childInstances[name] === undefined;
4310
4271
  if ("development" !== 'production') {
4311
4272
  if (!ReactComponentTreeHook) {
4312
- ReactComponentTreeHook = _dereq_(131);
4273
+ ReactComponentTreeHook = _dereq_(133);
4313
4274
  }
4314
4275
  if (!keyUnique) {
4315
4276
  "development" !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;
@@ -4334,8 +4295,8 @@ var ReactChildReconciler = {
4334
4295
  * @return {?object} A set of child instances.
4335
4296
  * @internal
4336
4297
  */
4337
- instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots
4338
- ) {
4298
+ instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots
4299
+ {
4339
4300
  if (nestedChildNodes == null) {
4340
4301
  return null;
4341
4302
  }
@@ -4361,8 +4322,8 @@ var ReactChildReconciler = {
4361
4322
  * @return {?object} A new set of child instances.
4362
4323
  * @internal
4363
4324
  */
4364
- updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots
4365
- ) {
4325
+ updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots
4326
+ {
4366
4327
  // We currently don't have a way to track moves here but if we use iterators
4367
4328
  // instead of for..in we can zip the iterators and check if an item has
4368
4329
  // moved.
@@ -4422,12 +4383,11 @@ var ReactChildReconciler = {
4422
4383
  }
4423
4384
  }
4424
4385
  }
4425
-
4426
4386
  };
4427
4387
 
4428
4388
  module.exports = ReactChildReconciler;
4429
4389
  }).call(this,undefined)
4430
- },{"120":120,"128":128,"129":129,"131":131,"157":157,"23":23,"75":75}],28:[function(_dereq_,module,exports){
4390
+ },{"121":121,"130":130,"131":131,"133":133,"159":159,"23":23,"75":75}],28:[function(_dereq_,module,exports){
4431
4391
  /**
4432
4392
  * Copyright 2013-present, Facebook, Inc.
4433
4393
  * All rights reserved.
@@ -4449,11 +4409,9 @@ var ReactDOMIDOperations = _dereq_(38);
4449
4409
  * need for this injection.
4450
4410
  */
4451
4411
  var ReactComponentBrowserEnvironment = {
4452
-
4453
4412
  processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,
4454
4413
 
4455
4414
  replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup
4456
-
4457
4415
  };
4458
4416
 
4459
4417
  module.exports = ReactComponentBrowserEnvironment;
@@ -4471,14 +4429,13 @@ module.exports = ReactComponentBrowserEnvironment;
4471
4429
 
4472
4430
  'use strict';
4473
4431
 
4474
- var _prodInvariant = _dereq_(124);
4432
+ var _prodInvariant = _dereq_(126);
4475
4433
 
4476
- var invariant = _dereq_(150);
4434
+ var invariant = _dereq_(152);
4477
4435
 
4478
4436
  var injected = false;
4479
4437
 
4480
4438
  var ReactComponentEnvironment = {
4481
-
4482
4439
  /**
4483
4440
  * Optionally injectable hook for swapping out mount images in the middle of
4484
4441
  * the tree.
@@ -4499,11 +4456,10 @@ var ReactComponentEnvironment = {
4499
4456
  injected = true;
4500
4457
  }
4501
4458
  }
4502
-
4503
4459
  };
4504
4460
 
4505
4461
  module.exports = ReactComponentEnvironment;
4506
- },{"124":124,"150":150}],30:[function(_dereq_,module,exports){
4462
+ },{"126":126,"152":152}],30:[function(_dereq_,module,exports){
4507
4463
  /**
4508
4464
  * Copyright 2013-present, Facebook, Inc.
4509
4465
  * All rights reserved.
@@ -4516,12 +4472,12 @@ module.exports = ReactComponentEnvironment;
4516
4472
 
4517
4473
  'use strict';
4518
4474
 
4519
- var _prodInvariant = _dereq_(124),
4520
- _assign = _dereq_(158);
4475
+ var _prodInvariant = _dereq_(126),
4476
+ _assign = _dereq_(160);
4521
4477
 
4522
- var React = _dereq_(133);
4478
+ var React = _dereq_(135);
4523
4479
  var ReactComponentEnvironment = _dereq_(29);
4524
- var ReactCurrentOwner = _dereq_(132);
4480
+ var ReactCurrentOwner = _dereq_(134);
4525
4481
  var ReactErrorUtils = _dereq_(55);
4526
4482
  var ReactInstanceMap = _dereq_(63);
4527
4483
  var ReactInstrumentation = _dereq_(64);
@@ -4532,11 +4488,11 @@ if ("development" !== 'production') {
4532
4488
  var checkReactTypeSpec = _dereq_(104);
4533
4489
  }
4534
4490
 
4535
- var emptyObject = _dereq_(143);
4536
- var invariant = _dereq_(150);
4537
- var shallowEqual = _dereq_(156);
4538
- var shouldUpdateReactComponent = _dereq_(128);
4539
- var warning = _dereq_(157);
4491
+ var emptyObject = _dereq_(145);
4492
+ var invariant = _dereq_(152);
4493
+ var shallowEqual = _dereq_(158);
4494
+ var shouldUpdateReactComponent = _dereq_(130);
4495
+ var warning = _dereq_(159);
4540
4496
 
4541
4497
  var CompositeTypes = {
4542
4498
  ImpureClass: 0,
@@ -4623,7 +4579,6 @@ var nextMountID = 1;
4623
4579
  * @lends {ReactCompositeComponent.prototype}
4624
4580
  */
4625
4581
  var ReactCompositeComponent = {
4626
-
4627
4582
  /**
4628
4583
  * Base constructor for all composite component.
4629
4584
  *
@@ -4719,7 +4674,7 @@ var ReactCompositeComponent = {
4719
4674
  var propsMutated = inst.props !== publicProps;
4720
4675
  var componentName = Component.displayName || Component.name || 'Component';
4721
4676
 
4722
- "development" !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\'s constructor was passed.', componentName, componentName) : void 0;
4677
+ "development" !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", componentName, componentName) : void 0;
4723
4678
  }
4724
4679
 
4725
4680
  // These should be set up in the constructor, but as a convenience for
@@ -5401,11 +5356,10 @@ var ReactCompositeComponent = {
5401
5356
 
5402
5357
  // Stub
5403
5358
  _instantiateReactComponent: null
5404
-
5405
5359
  };
5406
5360
 
5407
5361
  module.exports = ReactCompositeComponent;
5408
- },{"104":104,"124":124,"128":128,"132":132,"133":133,"143":143,"150":150,"156":156,"157":157,"158":158,"29":29,"55":55,"63":63,"64":64,"69":69,"75":75}],31:[function(_dereq_,module,exports){
5362
+ },{"104":104,"126":126,"130":130,"134":134,"135":135,"145":145,"152":152,"158":158,"159":159,"160":160,"29":29,"55":55,"63":63,"64":64,"69":69,"75":75}],31:[function(_dereq_,module,exports){
5409
5363
  /**
5410
5364
  * Copyright 2013-present, Facebook, Inc.
5411
5365
  * All rights reserved.
@@ -5429,8 +5383,8 @@ var ReactVersion = _dereq_(83);
5429
5383
 
5430
5384
  var findDOMNode = _dereq_(108);
5431
5385
  var getHostComponentFromComposite = _dereq_(115);
5432
- var renderSubtreeIntoContainer = _dereq_(125);
5433
- var warning = _dereq_(157);
5386
+ var renderSubtreeIntoContainer = _dereq_(127);
5387
+ var warning = _dereq_(159);
5434
5388
 
5435
5389
  ReactDefaultInjection.inject();
5436
5390
 
@@ -5443,6 +5397,7 @@ var ReactDOM = {
5443
5397
  /* eslint-disable camelcase */
5444
5398
  unstable_batchedUpdates: ReactUpdates.batchedUpdates,
5445
5399
  unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer
5400
+ /* eslint-enable camelcase */
5446
5401
  };
5447
5402
 
5448
5403
  // Inject the runtime into a devtools global hook regardless of browser.
@@ -5469,9 +5424,8 @@ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVT
5469
5424
  }
5470
5425
 
5471
5426
  if ("development" !== 'production') {
5472
- var ExecutionEnvironment = _dereq_(136);
5427
+ var ExecutionEnvironment = _dereq_(138);
5473
5428
  if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
5474
-
5475
5429
  // First check if devtools is not installed
5476
5430
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
5477
5431
  // If we're in Chrome or Firefox, provide a download link if not installed.
@@ -5483,7 +5437,7 @@ if ("development" !== 'production') {
5483
5437
  }
5484
5438
 
5485
5439
  var testFunc = function testFn() {};
5486
- "development" !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;
5440
+ "development" !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, "It looks like you're using a minified copy of the development build " + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;
5487
5441
 
5488
5442
  // If we're in IE8, check to see if we are in compatibility mode and provide
5489
5443
  // information on preventing compatibility mode
@@ -5516,7 +5470,7 @@ if ("development" !== 'production') {
5516
5470
  }
5517
5471
 
5518
5472
  module.exports = ReactDOM;
5519
- },{"108":108,"115":115,"125":125,"136":136,"157":157,"34":34,"40":40,"41":41,"49":49,"52":52,"64":64,"67":67,"75":75,"82":82,"83":83}],32:[function(_dereq_,module,exports){
5473
+ },{"108":108,"115":115,"127":127,"138":138,"159":159,"34":34,"40":40,"41":41,"49":49,"52":52,"64":64,"67":67,"75":75,"82":82,"83":83}],32:[function(_dereq_,module,exports){
5520
5474
  /**
5521
5475
  * Copyright 2013-present, Facebook, Inc.
5522
5476
  * All rights reserved.
@@ -5531,8 +5485,8 @@ module.exports = ReactDOM;
5531
5485
 
5532
5486
  'use strict';
5533
5487
 
5534
- var _prodInvariant = _dereq_(124),
5535
- _assign = _dereq_(158);
5488
+ var _prodInvariant = _dereq_(126),
5489
+ _assign = _dereq_(160);
5536
5490
 
5537
5491
  var AutoFocusUtils = _dereq_(2);
5538
5492
  var CSSPropertyOperations = _dereq_(5);
@@ -5553,13 +5507,14 @@ var ReactInstrumentation = _dereq_(64);
5553
5507
  var ReactMultiChild = _dereq_(68);
5554
5508
  var ReactServerRenderingTransaction = _dereq_(77);
5555
5509
 
5556
- var emptyFunction = _dereq_(142);
5510
+ var emptyFunction = _dereq_(144);
5557
5511
  var escapeTextContentForBrowser = _dereq_(107);
5558
- var invariant = _dereq_(150);
5559
- var isEventSupported = _dereq_(121);
5560
- var shallowEqual = _dereq_(156);
5561
- var validateDOMNesting = _dereq_(130);
5562
- var warning = _dereq_(157);
5512
+ var invariant = _dereq_(152);
5513
+ var isEventSupported = _dereq_(122);
5514
+ var shallowEqual = _dereq_(158);
5515
+ var inputValueTracking = _dereq_(120);
5516
+ var validateDOMNesting = _dereq_(132);
5517
+ var warning = _dereq_(159);
5563
5518
 
5564
5519
  var Flags = ReactDOMComponentFlags;
5565
5520
  var deleteListener = EventPluginHub.deleteListener;
@@ -5568,7 +5523,7 @@ var listenTo = ReactBrowserEventEmitter.listenTo;
5568
5523
  var registrationNameModules = EventPluginRegistry.registrationNameModules;
5569
5524
 
5570
5525
  // For quickly matching children type, to test if can be treated as content.
5571
- var CONTENT_TYPES = { 'string': true, 'number': true };
5526
+ var CONTENT_TYPES = { string: true, number: true };
5572
5527
 
5573
5528
  var STYLE = 'style';
5574
5529
  var HTML = '__html';
@@ -5677,7 +5632,7 @@ function enqueuePutListener(inst, registrationName, listener, transaction) {
5677
5632
  if ("development" !== 'production') {
5678
5633
  // IE8 has no API for event capturing and the `onScroll` event doesn't
5679
5634
  // bubble.
5680
- "development" !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : void 0;
5635
+ "development" !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), "This browser doesn't support the `onScroll` event") : void 0;
5681
5636
  }
5682
5637
  var containerInfo = inst._hostContainerInfo;
5683
5638
  var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;
@@ -5767,6 +5722,10 @@ var mediaEvents = {
5767
5722
  topWaiting: 'waiting'
5768
5723
  };
5769
5724
 
5725
+ function trackInputValue() {
5726
+ inputValueTracking.track(this);
5727
+ }
5728
+
5770
5729
  function trapBubbledEventsLocal() {
5771
5730
  var inst = this;
5772
5731
  // If a component renders to null or if another component fatals and causes
@@ -5782,7 +5741,6 @@ function trapBubbledEventsLocal() {
5782
5741
  break;
5783
5742
  case 'video':
5784
5743
  case 'audio':
5785
-
5786
5744
  inst._wrapperState.listeners = [];
5787
5745
  // Create listener for each media event
5788
5746
  for (var event in mediaEvents) {
@@ -5816,34 +5774,35 @@ function postUpdateSelectWrapper() {
5816
5774
  // those special-case tags.
5817
5775
 
5818
5776
  var omittedCloseTags = {
5819
- 'area': true,
5820
- 'base': true,
5821
- 'br': true,
5822
- 'col': true,
5823
- 'embed': true,
5824
- 'hr': true,
5825
- 'img': true,
5826
- 'input': true,
5827
- 'keygen': true,
5828
- 'link': true,
5829
- 'meta': true,
5830
- 'param': true,
5831
- 'source': true,
5832
- 'track': true,
5833
- 'wbr': true
5777
+ area: true,
5778
+ base: true,
5779
+ br: true,
5780
+ col: true,
5781
+ embed: true,
5782
+ hr: true,
5783
+ img: true,
5784
+ input: true,
5785
+ keygen: true,
5786
+ link: true,
5787
+ meta: true,
5788
+ param: true,
5789
+ source: true,
5790
+ track: true,
5791
+ wbr: true
5792
+ // NOTE: menuitem's close tag should be omitted, but that causes problems.
5834
5793
  };
5835
5794
 
5836
5795
  var newlineEatingTags = {
5837
- 'listing': true,
5838
- 'pre': true,
5839
- 'textarea': true
5796
+ listing: true,
5797
+ pre: true,
5798
+ textarea: true
5840
5799
  };
5841
5800
 
5842
5801
  // For HTML, certain tags cannot have children. This has the same purpose as
5843
5802
  // `omittedCloseTags` except that `menuitem` should still have its closing tag.
5844
5803
 
5845
5804
  var voidElementTags = _assign({
5846
- 'menuitem': true
5805
+ menuitem: true
5847
5806
  }, omittedCloseTags);
5848
5807
 
5849
5808
  // We accept any tag to be rendered but since this gets injected into arbitrary
@@ -5907,7 +5866,6 @@ function ReactDOMComponent(element) {
5907
5866
  ReactDOMComponent.displayName = 'ReactDOMComponent';
5908
5867
 
5909
5868
  ReactDOMComponent.Mixin = {
5910
-
5911
5869
  /**
5912
5870
  * Generates root tag markup then recurses. This method has side effects and
5913
5871
  * is not idempotent.
@@ -5944,6 +5902,7 @@ ReactDOMComponent.Mixin = {
5944
5902
  case 'input':
5945
5903
  ReactDOMInput.mountWrapper(this, props, hostParent);
5946
5904
  props = ReactDOMInput.getHostProps(this, props);
5905
+ transaction.getReactMountReady().enqueue(trackInputValue, this);
5947
5906
  transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);
5948
5907
  break;
5949
5908
  case 'option':
@@ -5958,6 +5917,7 @@ ReactDOMComponent.Mixin = {
5958
5917
  case 'textarea':
5959
5918
  ReactDOMTextarea.mountWrapper(this, props, hostParent);
5960
5919
  props = ReactDOMTextarea.getHostProps(this, props);
5920
+ transaction.getReactMountReady().enqueue(trackInputValue, this);
5961
5921
  transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);
5962
5922
  break;
5963
5923
  }
@@ -6483,6 +6443,10 @@ ReactDOMComponent.Mixin = {
6483
6443
  }
6484
6444
  }
6485
6445
  break;
6446
+ case 'input':
6447
+ case 'textarea':
6448
+ inputValueTracking.stopTracking(this);
6449
+ break;
6486
6450
  case 'html':
6487
6451
  case 'head':
6488
6452
  case 'body':
@@ -6511,13 +6475,12 @@ ReactDOMComponent.Mixin = {
6511
6475
  getPublicInstance: function () {
6512
6476
  return getNode(this);
6513
6477
  }
6514
-
6515
6478
  };
6516
6479
 
6517
6480
  _assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);
6518
6481
 
6519
6482
  module.exports = ReactDOMComponent;
6520
- },{"10":10,"107":107,"11":11,"12":12,"121":121,"124":124,"130":130,"142":142,"150":150,"156":156,"157":157,"158":158,"17":17,"18":18,"2":2,"26":26,"33":33,"34":34,"39":39,"42":42,"43":43,"46":46,"5":5,"64":64,"68":68,"77":77,"9":9}],33:[function(_dereq_,module,exports){
6483
+ },{"10":10,"107":107,"11":11,"12":12,"120":120,"122":122,"126":126,"132":132,"144":144,"152":152,"158":158,"159":159,"160":160,"17":17,"18":18,"2":2,"26":26,"33":33,"34":34,"39":39,"42":42,"43":43,"46":46,"5":5,"64":64,"68":68,"77":77,"9":9}],33:[function(_dereq_,module,exports){
6521
6484
  /**
6522
6485
  * Copyright 2015-present, Facebook, Inc.
6523
6486
  * All rights reserved.
@@ -6548,12 +6511,12 @@ module.exports = ReactDOMComponentFlags;
6548
6511
 
6549
6512
  'use strict';
6550
6513
 
6551
- var _prodInvariant = _dereq_(124);
6514
+ var _prodInvariant = _dereq_(126);
6552
6515
 
6553
6516
  var DOMProperty = _dereq_(11);
6554
6517
  var ReactDOMComponentFlags = _dereq_(33);
6555
6518
 
6556
- var invariant = _dereq_(150);
6519
+ var invariant = _dereq_(152);
6557
6520
 
6558
6521
  var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
6559
6522
  var Flags = ReactDOMComponentFlags;
@@ -6730,7 +6693,7 @@ var ReactDOMComponentTree = {
6730
6693
  };
6731
6694
 
6732
6695
  module.exports = ReactDOMComponentTree;
6733
- },{"11":11,"124":124,"150":150,"33":33}],35:[function(_dereq_,module,exports){
6696
+ },{"11":11,"126":126,"152":152,"33":33}],35:[function(_dereq_,module,exports){
6734
6697
  /**
6735
6698
  * Copyright 2013-present, Facebook, Inc.
6736
6699
  * All rights reserved.
@@ -6743,7 +6706,7 @@ module.exports = ReactDOMComponentTree;
6743
6706
 
6744
6707
  'use strict';
6745
6708
 
6746
- var validateDOMNesting = _dereq_(130);
6709
+ var validateDOMNesting = _dereq_(132);
6747
6710
 
6748
6711
  var DOC_NODE_TYPE = 9;
6749
6712
 
@@ -6763,7 +6726,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) {
6763
6726
  }
6764
6727
 
6765
6728
  module.exports = ReactDOMContainerInfo;
6766
- },{"130":130}],36:[function(_dereq_,module,exports){
6729
+ },{"132":132}],36:[function(_dereq_,module,exports){
6767
6730
  /**
6768
6731
  * Copyright 2014-present, Facebook, Inc.
6769
6732
  * All rights reserved.
@@ -6776,7 +6739,7 @@ module.exports = ReactDOMContainerInfo;
6776
6739
 
6777
6740
  'use strict';
6778
6741
 
6779
- var _assign = _dereq_(158);
6742
+ var _assign = _dereq_(160);
6780
6743
 
6781
6744
  var DOMLazyTree = _dereq_(9);
6782
6745
  var ReactDOMComponentTree = _dereq_(34);
@@ -6823,7 +6786,7 @@ _assign(ReactDOMEmptyComponent.prototype, {
6823
6786
  });
6824
6787
 
6825
6788
  module.exports = ReactDOMEmptyComponent;
6826
- },{"158":158,"34":34,"9":9}],37:[function(_dereq_,module,exports){
6789
+ },{"160":160,"34":34,"9":9}],37:[function(_dereq_,module,exports){
6827
6790
  /**
6828
6791
  * Copyright 2013-present, Facebook, Inc.
6829
6792
  * All rights reserved.
@@ -6862,7 +6825,6 @@ var ReactDOMComponentTree = _dereq_(34);
6862
6825
  * Operations used to process updates to DOM nodes.
6863
6826
  */
6864
6827
  var ReactDOMIDOperations = {
6865
-
6866
6828
  /**
6867
6829
  * Updates a component's children by processing a series of updates.
6868
6830
  *
@@ -6889,16 +6851,16 @@ module.exports = ReactDOMIDOperations;
6889
6851
 
6890
6852
  'use strict';
6891
6853
 
6892
- var _prodInvariant = _dereq_(124),
6893
- _assign = _dereq_(158);
6854
+ var _prodInvariant = _dereq_(126),
6855
+ _assign = _dereq_(160);
6894
6856
 
6895
6857
  var DOMPropertyOperations = _dereq_(12);
6896
6858
  var LinkedValueUtils = _dereq_(24);
6897
6859
  var ReactDOMComponentTree = _dereq_(34);
6898
6860
  var ReactUpdates = _dereq_(82);
6899
6861
 
6900
- var invariant = _dereq_(150);
6901
- var warning = _dereq_(157);
6862
+ var invariant = _dereq_(152);
6863
+ var warning = _dereq_(159);
6902
6864
 
6903
6865
  var didWarnValueLink = false;
6904
6866
  var didWarnCheckedLink = false;
@@ -7029,14 +6991,16 @@ var ReactDOMInput = {
7029
6991
  // Simulate `input.valueAsNumber`. IE9 does not support it
7030
6992
  var valueAsNumber = parseFloat(node.value, 10) || 0;
7031
6993
 
6994
+ if (
6995
+ // eslint-disable-next-line
6996
+ value != valueAsNumber ||
7032
6997
  // eslint-disable-next-line
7033
- if (value != valueAsNumber) {
6998
+ value == valueAsNumber && node.value != value) {
7034
6999
  // Cast `value` to a string to ensure the value is set correctly. While
7035
7000
  // browsers typically do this as necessary, jsdom doesn't.
7036
7001
  node.value = '' + value;
7037
7002
  }
7038
- // eslint-disable-next-line
7039
- } else if (value != node.value) {
7003
+ } else if (node.value !== '' + value) {
7040
7004
  // Cast `value` to a string to ensure the value is set correctly. While
7041
7005
  // browsers typically do this as necessary, jsdom doesn't.
7042
7006
  node.value = '' + value;
@@ -7161,7 +7125,7 @@ function _handleChange(event) {
7161
7125
  }
7162
7126
 
7163
7127
  module.exports = ReactDOMInput;
7164
- },{"12":12,"124":124,"150":150,"157":157,"158":158,"24":24,"34":34,"82":82}],40:[function(_dereq_,module,exports){
7128
+ },{"12":12,"126":126,"152":152,"159":159,"160":160,"24":24,"34":34,"82":82}],40:[function(_dereq_,module,exports){
7165
7129
  /**
7166
7130
  * Copyright 2013-present, Facebook, Inc.
7167
7131
  * All rights reserved.
@@ -7175,9 +7139,9 @@ module.exports = ReactDOMInput;
7175
7139
  'use strict';
7176
7140
 
7177
7141
  var DOMProperty = _dereq_(11);
7178
- var ReactComponentTreeHook = _dereq_(131);
7142
+ var ReactComponentTreeHook = _dereq_(133);
7179
7143
 
7180
- var warning = _dereq_(157);
7144
+ var warning = _dereq_(159);
7181
7145
 
7182
7146
  var warnedProperties = {};
7183
7147
  var rARIA = new RegExp('^(aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');
@@ -7254,7 +7218,7 @@ var ReactDOMInvalidARIAHook = {
7254
7218
  };
7255
7219
 
7256
7220
  module.exports = ReactDOMInvalidARIAHook;
7257
- },{"11":11,"131":131,"157":157}],41:[function(_dereq_,module,exports){
7221
+ },{"11":11,"133":133,"159":159}],41:[function(_dereq_,module,exports){
7258
7222
  /**
7259
7223
  * Copyright 2013-present, Facebook, Inc.
7260
7224
  * All rights reserved.
@@ -7267,9 +7231,9 @@ module.exports = ReactDOMInvalidARIAHook;
7267
7231
 
7268
7232
  'use strict';
7269
7233
 
7270
- var ReactComponentTreeHook = _dereq_(131);
7234
+ var ReactComponentTreeHook = _dereq_(133);
7271
7235
 
7272
- var warning = _dereq_(157);
7236
+ var warning = _dereq_(159);
7273
7237
 
7274
7238
  var didWarnValueNull = false;
7275
7239
 
@@ -7297,7 +7261,7 @@ var ReactDOMNullInputValuePropHook = {
7297
7261
  };
7298
7262
 
7299
7263
  module.exports = ReactDOMNullInputValuePropHook;
7300
- },{"131":131,"157":157}],42:[function(_dereq_,module,exports){
7264
+ },{"133":133,"159":159}],42:[function(_dereq_,module,exports){
7301
7265
  /**
7302
7266
  * Copyright 2013-present, Facebook, Inc.
7303
7267
  * All rights reserved.
@@ -7310,13 +7274,13 @@ module.exports = ReactDOMNullInputValuePropHook;
7310
7274
 
7311
7275
  'use strict';
7312
7276
 
7313
- var _assign = _dereq_(158);
7277
+ var _assign = _dereq_(160);
7314
7278
 
7315
- var React = _dereq_(133);
7279
+ var React = _dereq_(135);
7316
7280
  var ReactDOMComponentTree = _dereq_(34);
7317
7281
  var ReactDOMSelect = _dereq_(43);
7318
7282
 
7319
- var warning = _dereq_(157);
7283
+ var warning = _dereq_(159);
7320
7284
  var didWarnInvalidOptionChildren = false;
7321
7285
 
7322
7286
  function flattenChildren(children) {
@@ -7416,11 +7380,10 @@ var ReactDOMOption = {
7416
7380
 
7417
7381
  return hostProps;
7418
7382
  }
7419
-
7420
7383
  };
7421
7384
 
7422
7385
  module.exports = ReactDOMOption;
7423
- },{"133":133,"157":157,"158":158,"34":34,"43":43}],43:[function(_dereq_,module,exports){
7386
+ },{"135":135,"159":159,"160":160,"34":34,"43":43}],43:[function(_dereq_,module,exports){
7424
7387
  /**
7425
7388
  * Copyright 2013-present, Facebook, Inc.
7426
7389
  * All rights reserved.
@@ -7433,13 +7396,13 @@ module.exports = ReactDOMOption;
7433
7396
 
7434
7397
  'use strict';
7435
7398
 
7436
- var _assign = _dereq_(158);
7399
+ var _assign = _dereq_(160);
7437
7400
 
7438
7401
  var LinkedValueUtils = _dereq_(24);
7439
7402
  var ReactDOMComponentTree = _dereq_(34);
7440
7403
  var ReactUpdates = _dereq_(82);
7441
7404
 
7442
- var warning = _dereq_(157);
7405
+ var warning = _dereq_(159);
7443
7406
 
7444
7407
  var didWarnValueLink = false;
7445
7408
  var didWarnValueDefaultValue = false;
@@ -7620,7 +7583,7 @@ function _handleChange(event) {
7620
7583
  }
7621
7584
 
7622
7585
  module.exports = ReactDOMSelect;
7623
- },{"157":157,"158":158,"24":24,"34":34,"82":82}],44:[function(_dereq_,module,exports){
7586
+ },{"159":159,"160":160,"24":24,"34":34,"82":82}],44:[function(_dereq_,module,exports){
7624
7587
  /**
7625
7588
  * Copyright 2013-present, Facebook, Inc.
7626
7589
  * All rights reserved.
@@ -7633,7 +7596,7 @@ module.exports = ReactDOMSelect;
7633
7596
 
7634
7597
  'use strict';
7635
7598
 
7636
- var ExecutionEnvironment = _dereq_(136);
7599
+ var ExecutionEnvironment = _dereq_(138);
7637
7600
 
7638
7601
  var getNodeForCharacterOffset = _dereq_(117);
7639
7602
  var getTextContentAccessor = _dereq_(118);
@@ -7832,7 +7795,7 @@ var ReactDOMSelection = {
7832
7795
  };
7833
7796
 
7834
7797
  module.exports = ReactDOMSelection;
7835
- },{"117":117,"118":118,"136":136}],45:[function(_dereq_,module,exports){
7798
+ },{"117":117,"118":118,"138":138}],45:[function(_dereq_,module,exports){
7836
7799
  /**
7837
7800
  * Copyright 2013-present, Facebook, Inc.
7838
7801
  * All rights reserved.
@@ -7845,16 +7808,16 @@ module.exports = ReactDOMSelection;
7845
7808
 
7846
7809
  'use strict';
7847
7810
 
7848
- var _prodInvariant = _dereq_(124),
7849
- _assign = _dereq_(158);
7811
+ var _prodInvariant = _dereq_(126),
7812
+ _assign = _dereq_(160);
7850
7813
 
7851
7814
  var DOMChildrenOperations = _dereq_(8);
7852
7815
  var DOMLazyTree = _dereq_(9);
7853
7816
  var ReactDOMComponentTree = _dereq_(34);
7854
7817
 
7855
7818
  var escapeTextContentForBrowser = _dereq_(107);
7856
- var invariant = _dereq_(150);
7857
- var validateDOMNesting = _dereq_(130);
7819
+ var invariant = _dereq_(152);
7820
+ var validateDOMNesting = _dereq_(132);
7858
7821
 
7859
7822
  /**
7860
7823
  * Text nodes violate a couple assumptions that React makes about components:
@@ -7887,7 +7850,6 @@ var ReactDOMTextComponent = function (text) {
7887
7850
  };
7888
7851
 
7889
7852
  _assign(ReactDOMTextComponent.prototype, {
7890
-
7891
7853
  /**
7892
7854
  * Creates the markup for this text node. This node is not intended to have
7893
7855
  * any features besides containing text content.
@@ -7992,11 +7954,10 @@ _assign(ReactDOMTextComponent.prototype, {
7992
7954
  this._commentNodes = null;
7993
7955
  ReactDOMComponentTree.uncacheNode(this);
7994
7956
  }
7995
-
7996
7957
  });
7997
7958
 
7998
7959
  module.exports = ReactDOMTextComponent;
7999
- },{"107":107,"124":124,"130":130,"150":150,"158":158,"34":34,"8":8,"9":9}],46:[function(_dereq_,module,exports){
7960
+ },{"107":107,"126":126,"132":132,"152":152,"160":160,"34":34,"8":8,"9":9}],46:[function(_dereq_,module,exports){
8000
7961
  /**
8001
7962
  * Copyright 2013-present, Facebook, Inc.
8002
7963
  * All rights reserved.
@@ -8009,15 +7970,15 @@ module.exports = ReactDOMTextComponent;
8009
7970
 
8010
7971
  'use strict';
8011
7972
 
8012
- var _prodInvariant = _dereq_(124),
8013
- _assign = _dereq_(158);
7973
+ var _prodInvariant = _dereq_(126),
7974
+ _assign = _dereq_(160);
8014
7975
 
8015
7976
  var LinkedValueUtils = _dereq_(24);
8016
7977
  var ReactDOMComponentTree = _dereq_(34);
8017
7978
  var ReactUpdates = _dereq_(82);
8018
7979
 
8019
- var invariant = _dereq_(150);
8020
- var warning = _dereq_(157);
7980
+ var invariant = _dereq_(152);
7981
+ var warning = _dereq_(159);
8021
7982
 
8022
7983
  var didWarnValueLink = false;
8023
7984
  var didWarnValDefaultVal = false;
@@ -8156,7 +8117,7 @@ function _handleChange(event) {
8156
8117
  }
8157
8118
 
8158
8119
  module.exports = ReactDOMTextarea;
8159
- },{"124":124,"150":150,"157":157,"158":158,"24":24,"34":34,"82":82}],47:[function(_dereq_,module,exports){
8120
+ },{"126":126,"152":152,"159":159,"160":160,"24":24,"34":34,"82":82}],47:[function(_dereq_,module,exports){
8160
8121
  /**
8161
8122
  * Copyright 2015-present, Facebook, Inc.
8162
8123
  * All rights reserved.
@@ -8169,9 +8130,9 @@ module.exports = ReactDOMTextarea;
8169
8130
 
8170
8131
  'use strict';
8171
8132
 
8172
- var _prodInvariant = _dereq_(124);
8133
+ var _prodInvariant = _dereq_(126);
8173
8134
 
8174
- var invariant = _dereq_(150);
8135
+ var invariant = _dereq_(152);
8175
8136
 
8176
8137
  /**
8177
8138
  * Return the lowest common ancestor of A and B, or null if they are in
@@ -8292,7 +8253,7 @@ module.exports = {
8292
8253
  traverseTwoPhase: traverseTwoPhase,
8293
8254
  traverseEnterLeave: traverseEnterLeave
8294
8255
  };
8295
- },{"124":124,"150":150}],48:[function(_dereq_,module,exports){
8256
+ },{"126":126,"152":152}],48:[function(_dereq_,module,exports){
8296
8257
  /**
8297
8258
  * Copyright 2013-present, Facebook, Inc.
8298
8259
  * All rights reserved.
@@ -8305,7 +8266,7 @@ module.exports = {
8305
8266
 
8306
8267
  'use strict';
8307
8268
 
8308
- var React = _dereq_(133);
8269
+ var React = _dereq_(135);
8309
8270
  var ReactDOM = _dereq_(31);
8310
8271
 
8311
8272
  var ReactDOMUMDEntry = ReactDOM;
@@ -8326,7 +8287,7 @@ if (React.addons) {
8326
8287
  }
8327
8288
 
8328
8289
  module.exports = ReactDOMUMDEntry;
8329
- },{"133":133,"31":31,"71":71,"80":80}],49:[function(_dereq_,module,exports){
8290
+ },{"135":135,"31":31,"71":71,"80":80}],49:[function(_dereq_,module,exports){
8330
8291
  /**
8331
8292
  * Copyright 2013-present, Facebook, Inc.
8332
8293
  * All rights reserved.
@@ -8341,9 +8302,9 @@ module.exports = ReactDOMUMDEntry;
8341
8302
 
8342
8303
  var DOMProperty = _dereq_(11);
8343
8304
  var EventPluginRegistry = _dereq_(18);
8344
- var ReactComponentTreeHook = _dereq_(131);
8305
+ var ReactComponentTreeHook = _dereq_(133);
8345
8306
 
8346
- var warning = _dereq_(157);
8307
+ var warning = _dereq_(159);
8347
8308
 
8348
8309
  if ("development" !== 'production') {
8349
8310
  var reactProps = {
@@ -8438,7 +8399,7 @@ var ReactDOMUnknownPropertyHook = {
8438
8399
  };
8439
8400
 
8440
8401
  module.exports = ReactDOMUnknownPropertyHook;
8441
- },{"11":11,"131":131,"157":157,"18":18}],50:[function(_dereq_,module,exports){
8402
+ },{"11":11,"133":133,"159":159,"18":18}],50:[function(_dereq_,module,exports){
8442
8403
  /**
8443
8404
  * Copyright 2016-present, Facebook, Inc.
8444
8405
  * All rights reserved.
@@ -8454,11 +8415,11 @@ module.exports = ReactDOMUnknownPropertyHook;
8454
8415
 
8455
8416
  var ReactInvalidSetStateWarningHook = _dereq_(65);
8456
8417
  var ReactHostOperationHistoryHook = _dereq_(60);
8457
- var ReactComponentTreeHook = _dereq_(131);
8458
- var ExecutionEnvironment = _dereq_(136);
8418
+ var ReactComponentTreeHook = _dereq_(133);
8419
+ var ExecutionEnvironment = _dereq_(138);
8459
8420
 
8460
- var performanceNow = _dereq_(155);
8461
- var warning = _dereq_(157);
8421
+ var performanceNow = _dereq_(157);
8422
+ var warning = _dereq_(159);
8462
8423
 
8463
8424
  var hooks = [];
8464
8425
  var didHookThrowForEvent = {};
@@ -8667,7 +8628,9 @@ function markEnd(debugID, markType) {
8667
8628
  }
8668
8629
 
8669
8630
  performance.clearMarks(markName);
8670
- performance.clearMeasures(measurementName);
8631
+ if (measurementName) {
8632
+ performance.clearMeasures(measurementName);
8633
+ }
8671
8634
  }
8672
8635
 
8673
8636
  var ReactDebugTool = {
@@ -8797,7 +8760,7 @@ if (/[?&]react_perf\b/.test(url)) {
8797
8760
  }
8798
8761
 
8799
8762
  module.exports = ReactDebugTool;
8800
- },{"131":131,"136":136,"155":155,"157":157,"60":60,"65":65}],51:[function(_dereq_,module,exports){
8763
+ },{"133":133,"138":138,"157":157,"159":159,"60":60,"65":65}],51:[function(_dereq_,module,exports){
8801
8764
  /**
8802
8765
  * Copyright 2013-present, Facebook, Inc.
8803
8766
  * All rights reserved.
@@ -8810,12 +8773,12 @@ module.exports = ReactDebugTool;
8810
8773
 
8811
8774
  'use strict';
8812
8775
 
8813
- var _assign = _dereq_(158);
8776
+ var _assign = _dereq_(160);
8814
8777
 
8815
8778
  var ReactUpdates = _dereq_(82);
8816
8779
  var Transaction = _dereq_(100);
8817
8780
 
8818
- var emptyFunction = _dereq_(142);
8781
+ var emptyFunction = _dereq_(144);
8819
8782
 
8820
8783
  var RESET_BATCHED_UPDATES = {
8821
8784
  initialize: emptyFunction,
@@ -8865,7 +8828,7 @@ var ReactDefaultBatchingStrategy = {
8865
8828
  };
8866
8829
 
8867
8830
  module.exports = ReactDefaultBatchingStrategy;
8868
- },{"100":100,"142":142,"158":158,"82":82}],52:[function(_dereq_,module,exports){
8831
+ },{"100":100,"144":144,"160":160,"82":82}],52:[function(_dereq_,module,exports){
8869
8832
  /**
8870
8833
  * Copyright 2013-present, Facebook, Inc.
8871
8834
  * All rights reserved.
@@ -9098,7 +9061,6 @@ function runEventQueueInBatch(events) {
9098
9061
  }
9099
9062
 
9100
9063
  var ReactEventEmitterMixin = {
9101
-
9102
9064
  /**
9103
9065
  * Streams a fired top-level event to `EventPluginHub` where plugins have the
9104
9066
  * opportunity to create `ReactEvent`s to be dispatched.
@@ -9123,16 +9085,16 @@ module.exports = ReactEventEmitterMixin;
9123
9085
 
9124
9086
  'use strict';
9125
9087
 
9126
- var _assign = _dereq_(158);
9088
+ var _assign = _dereq_(160);
9127
9089
 
9128
- var EventListener = _dereq_(135);
9129
- var ExecutionEnvironment = _dereq_(136);
9090
+ var EventListener = _dereq_(137);
9091
+ var ExecutionEnvironment = _dereq_(138);
9130
9092
  var PooledClass = _dereq_(25);
9131
9093
  var ReactDOMComponentTree = _dereq_(34);
9132
9094
  var ReactUpdates = _dereq_(82);
9133
9095
 
9134
9096
  var getEventTarget = _dereq_(114);
9135
- var getUnboundedScrollPosition = _dereq_(147);
9097
+ var getUnboundedScrollPosition = _dereq_(149);
9136
9098
 
9137
9099
  /**
9138
9100
  * Find the deepest React component completely containing the root of the
@@ -9265,7 +9227,7 @@ var ReactEventListener = {
9265
9227
  };
9266
9228
 
9267
9229
  module.exports = ReactEventListener;
9268
- },{"114":114,"135":135,"136":136,"147":147,"158":158,"25":25,"34":34,"82":82}],58:[function(_dereq_,module,exports){
9230
+ },{"114":114,"137":137,"138":138,"149":149,"160":160,"25":25,"34":34,"82":82}],58:[function(_dereq_,module,exports){
9269
9231
  /**
9270
9232
  * Copyright 2013-present, Facebook, Inc.
9271
9233
  * All rights reserved.
@@ -9300,9 +9262,9 @@ module.exports = ReactFeatureFlags;
9300
9262
 
9301
9263
  'use strict';
9302
9264
 
9303
- var _prodInvariant = _dereq_(124);
9265
+ var _prodInvariant = _dereq_(126);
9304
9266
 
9305
- var invariant = _dereq_(150);
9267
+ var invariant = _dereq_(152);
9306
9268
 
9307
9269
  var genericComponentClass = null;
9308
9270
  var textComponentClass = null;
@@ -9355,7 +9317,7 @@ var ReactHostComponent = {
9355
9317
  };
9356
9318
 
9357
9319
  module.exports = ReactHostComponent;
9358
- },{"124":124,"150":150}],60:[function(_dereq_,module,exports){
9320
+ },{"126":126,"152":152}],60:[function(_dereq_,module,exports){
9359
9321
  /**
9360
9322
  * Copyright 2016-present, Facebook, Inc.
9361
9323
  * All rights reserved.
@@ -9438,9 +9400,9 @@ module.exports = ReactInjection;
9438
9400
 
9439
9401
  var ReactDOMSelection = _dereq_(44);
9440
9402
 
9441
- var containsNode = _dereq_(139);
9442
- var focusNode = _dereq_(144);
9443
- var getActiveElement = _dereq_(145);
9403
+ var containsNode = _dereq_(141);
9404
+ var focusNode = _dereq_(146);
9405
+ var getActiveElement = _dereq_(147);
9444
9406
 
9445
9407
  function isInDocument(node) {
9446
9408
  return containsNode(document.documentElement, node);
@@ -9453,7 +9415,6 @@ function isInDocument(node) {
9453
9415
  * Input selection module for React.
9454
9416
  */
9455
9417
  var ReactInputSelection = {
9456
-
9457
9418
  hasSelectionCapabilities: function (elem) {
9458
9419
  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
9459
9420
  return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');
@@ -9547,7 +9508,7 @@ var ReactInputSelection = {
9547
9508
  };
9548
9509
 
9549
9510
  module.exports = ReactInputSelection;
9550
- },{"139":139,"144":144,"145":145,"44":44}],63:[function(_dereq_,module,exports){
9511
+ },{"141":141,"146":146,"147":147,"44":44}],63:[function(_dereq_,module,exports){
9551
9512
  /**
9552
9513
  * Copyright 2013-present, Facebook, Inc.
9553
9514
  * All rights reserved.
@@ -9570,7 +9531,6 @@ module.exports = ReactInputSelection;
9570
9531
  // TODO: Replace this with ES6: var ReactInstanceMap = new Map();
9571
9532
 
9572
9533
  var ReactInstanceMap = {
9573
-
9574
9534
  /**
9575
9535
  * This API should be called `delete` but we'd have to make sure to always
9576
9536
  * transform these to strings for IE support. When this transform is fully
@@ -9591,7 +9551,6 @@ var ReactInstanceMap = {
9591
9551
  set: function (key, value) {
9592
9552
  key._reactInternalInstance = value;
9593
9553
  }
9594
-
9595
9554
  };
9596
9555
 
9597
9556
  module.exports = ReactInstanceMap;
@@ -9633,7 +9592,7 @@ module.exports = { debugTool: debugTool };
9633
9592
 
9634
9593
  'use strict';
9635
9594
 
9636
- var warning = _dereq_(157);
9595
+ var warning = _dereq_(159);
9637
9596
 
9638
9597
  if ("development" !== 'production') {
9639
9598
  var processingChildContext = false;
@@ -9656,7 +9615,7 @@ var ReactInvalidSetStateWarningHook = {
9656
9615
  };
9657
9616
 
9658
9617
  module.exports = ReactInvalidSetStateWarningHook;
9659
- },{"157":157}],66:[function(_dereq_,module,exports){
9618
+ },{"159":159}],66:[function(_dereq_,module,exports){
9660
9619
  /**
9661
9620
  * Copyright 2013-present, Facebook, Inc.
9662
9621
  * All rights reserved.
@@ -9719,13 +9678,13 @@ module.exports = ReactMarkupChecksum;
9719
9678
 
9720
9679
  'use strict';
9721
9680
 
9722
- var _prodInvariant = _dereq_(124);
9681
+ var _prodInvariant = _dereq_(126);
9723
9682
 
9724
9683
  var DOMLazyTree = _dereq_(9);
9725
9684
  var DOMProperty = _dereq_(11);
9726
- var React = _dereq_(133);
9685
+ var React = _dereq_(135);
9727
9686
  var ReactBrowserEventEmitter = _dereq_(26);
9728
- var ReactCurrentOwner = _dereq_(132);
9687
+ var ReactCurrentOwner = _dereq_(134);
9729
9688
  var ReactDOMComponentTree = _dereq_(34);
9730
9689
  var ReactDOMContainerInfo = _dereq_(35);
9731
9690
  var ReactDOMFeatureFlags = _dereq_(37);
@@ -9737,12 +9696,12 @@ var ReactReconciler = _dereq_(75);
9737
9696
  var ReactUpdateQueue = _dereq_(81);
9738
9697
  var ReactUpdates = _dereq_(82);
9739
9698
 
9740
- var emptyObject = _dereq_(143);
9741
- var instantiateReactComponent = _dereq_(120);
9742
- var invariant = _dereq_(150);
9743
- var setInnerHTML = _dereq_(126);
9744
- var shouldUpdateReactComponent = _dereq_(128);
9745
- var warning = _dereq_(157);
9699
+ var emptyObject = _dereq_(145);
9700
+ var instantiateReactComponent = _dereq_(121);
9701
+ var invariant = _dereq_(152);
9702
+ var setInnerHTML = _dereq_(128);
9703
+ var shouldUpdateReactComponent = _dereq_(130);
9704
+ var warning = _dereq_(159);
9746
9705
 
9747
9706
  var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
9748
9707
  var ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;
@@ -9965,7 +9924,6 @@ TopLevelWrapper.isReactTopLevelWrapper = true;
9965
9924
  * Inside of `container`, the first element rendered is the "reactRoot".
9966
9925
  */
9967
9926
  var ReactMount = {
9968
-
9969
9927
  TopLevelWrapper: TopLevelWrapper,
9970
9928
 
9971
9929
  /**
@@ -10054,13 +10012,14 @@ var ReactMount = {
10054
10012
 
10055
10013
  _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {
10056
10014
  ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');
10057
- !React.isValidElement(nextElement) ? "development" !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' :
10058
- // Check if it quacks like an element
10059
- nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;
10015
+ !React.isValidElement(nextElement) ? "development" !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? " Instead of passing a string like 'div', pass " + "React.createElement('div') or <div />." : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : // Check if it quacks like an element
10016
+ nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? " Instead of passing a string like 'div', pass " + "React.createElement('div') or <div />." : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;
10060
10017
 
10061
10018
  "development" !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;
10062
10019
 
10063
- var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement });
10020
+ var nextWrappedElement = React.createElement(TopLevelWrapper, {
10021
+ child: nextElement
10022
+ });
10064
10023
 
10065
10024
  var nextContext;
10066
10025
  if (parentComponent) {
@@ -10149,7 +10108,7 @@ var ReactMount = {
10149
10108
  !isValidContainer(container) ? "development" !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;
10150
10109
 
10151
10110
  if ("development" !== 'production') {
10152
- "development" !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0;
10111
+ "development" !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), "unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.') : void 0;
10153
10112
  }
10154
10113
 
10155
10114
  var prevComponent = getTopLevelWrapperInContainer(container);
@@ -10162,7 +10121,7 @@ var ReactMount = {
10162
10121
  var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);
10163
10122
 
10164
10123
  if ("development" !== 'production') {
10165
- "development" !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;
10124
+ "development" !== 'production' ? warning(!containerHasNonRootReactChild, "unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;
10166
10125
  }
10167
10126
 
10168
10127
  return false;
@@ -10244,7 +10203,7 @@ var ReactMount = {
10244
10203
  };
10245
10204
 
10246
10205
  module.exports = ReactMount;
10247
- },{"11":11,"120":120,"124":124,"126":126,"128":128,"132":132,"133":133,"143":143,"150":150,"157":157,"26":26,"34":34,"35":35,"37":37,"58":58,"63":63,"64":64,"66":66,"75":75,"81":81,"82":82,"9":9}],68:[function(_dereq_,module,exports){
10206
+ },{"11":11,"121":121,"126":126,"128":128,"130":130,"134":134,"135":135,"145":145,"152":152,"159":159,"26":26,"34":34,"35":35,"37":37,"58":58,"63":63,"64":64,"66":66,"75":75,"81":81,"82":82,"9":9}],68:[function(_dereq_,module,exports){
10248
10207
  /**
10249
10208
  * Copyright 2013-present, Facebook, Inc.
10250
10209
  * All rights reserved.
@@ -10257,19 +10216,19 @@ module.exports = ReactMount;
10257
10216
 
10258
10217
  'use strict';
10259
10218
 
10260
- var _prodInvariant = _dereq_(124);
10219
+ var _prodInvariant = _dereq_(126);
10261
10220
 
10262
10221
  var ReactComponentEnvironment = _dereq_(29);
10263
10222
  var ReactInstanceMap = _dereq_(63);
10264
10223
  var ReactInstrumentation = _dereq_(64);
10265
10224
 
10266
- var ReactCurrentOwner = _dereq_(132);
10225
+ var ReactCurrentOwner = _dereq_(134);
10267
10226
  var ReactReconciler = _dereq_(75);
10268
10227
  var ReactChildReconciler = _dereq_(27);
10269
10228
 
10270
- var emptyFunction = _dereq_(142);
10229
+ var emptyFunction = _dereq_(144);
10271
10230
  var flattenChildren = _dereq_(109);
10272
- var invariant = _dereq_(150);
10231
+ var invariant = _dereq_(152);
10273
10232
 
10274
10233
  /**
10275
10234
  * Make an update for markup to be rendered and inserted at a supplied index.
@@ -10415,7 +10374,6 @@ if ("development" !== 'production') {
10415
10374
  * @internal
10416
10375
  */
10417
10376
  var ReactMultiChild = {
10418
-
10419
10377
  /**
10420
10378
  * Provides common functionality for components that must reconcile multiple
10421
10379
  * children. This is used by `ReactDOMComponent` to mount, update, and
@@ -10424,7 +10382,6 @@ var ReactMultiChild = {
10424
10382
  * @lends {ReactMultiChild.prototype}
10425
10383
  */
10426
10384
  Mixin: {
10427
-
10428
10385
  _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {
10429
10386
  if ("development" !== 'production') {
10430
10387
  var selfDebugID = getDebugID(this);
@@ -10688,13 +10645,11 @@ var ReactMultiChild = {
10688
10645
  child._mountIndex = null;
10689
10646
  return update;
10690
10647
  }
10691
-
10692
10648
  }
10693
-
10694
10649
  };
10695
10650
 
10696
10651
  module.exports = ReactMultiChild;
10697
- },{"109":109,"124":124,"132":132,"142":142,"150":150,"27":27,"29":29,"63":63,"64":64,"75":75}],69:[function(_dereq_,module,exports){
10652
+ },{"109":109,"126":126,"134":134,"144":144,"152":152,"27":27,"29":29,"63":63,"64":64,"75":75}],69:[function(_dereq_,module,exports){
10698
10653
  /**
10699
10654
  * Copyright 2013-present, Facebook, Inc.
10700
10655
  * All rights reserved.
@@ -10708,11 +10663,11 @@ module.exports = ReactMultiChild;
10708
10663
 
10709
10664
  'use strict';
10710
10665
 
10711
- var _prodInvariant = _dereq_(124);
10666
+ var _prodInvariant = _dereq_(126);
10712
10667
 
10713
- var React = _dereq_(133);
10668
+ var React = _dereq_(135);
10714
10669
 
10715
- var invariant = _dereq_(150);
10670
+ var invariant = _dereq_(152);
10716
10671
 
10717
10672
  var ReactNodeTypes = {
10718
10673
  HOST: 0,
@@ -10734,7 +10689,7 @@ var ReactNodeTypes = {
10734
10689
  };
10735
10690
 
10736
10691
  module.exports = ReactNodeTypes;
10737
- },{"124":124,"133":133,"150":150}],70:[function(_dereq_,module,exports){
10692
+ },{"126":126,"135":135,"152":152}],70:[function(_dereq_,module,exports){
10738
10693
  /**
10739
10694
  * Copyright 2013-present, Facebook, Inc.
10740
10695
  * All rights reserved.
@@ -10748,9 +10703,9 @@ module.exports = ReactNodeTypes;
10748
10703
 
10749
10704
  'use strict';
10750
10705
 
10751
- var _prodInvariant = _dereq_(124);
10706
+ var _prodInvariant = _dereq_(126);
10752
10707
 
10753
- var invariant = _dereq_(150);
10708
+ var invariant = _dereq_(152);
10754
10709
 
10755
10710
  /**
10756
10711
  * @param {?object} object
@@ -10824,11 +10779,10 @@ var ReactOwner = {
10824
10779
  owner.detachRef(ref);
10825
10780
  }
10826
10781
  }
10827
-
10828
10782
  };
10829
10783
 
10830
10784
  module.exports = ReactOwner;
10831
- },{"124":124,"150":150}],71:[function(_dereq_,module,exports){
10785
+ },{"126":126,"152":152}],71:[function(_dereq_,module,exports){
10832
10786
  /**
10833
10787
  * Copyright 2016-present, Facebook, Inc.
10834
10788
  * All rights reserved.
@@ -10842,12 +10796,12 @@ module.exports = ReactOwner;
10842
10796
 
10843
10797
  'use strict';
10844
10798
 
10845
- var _assign = _dereq_(158);
10799
+ var _assign = _dereq_(160);
10846
10800
 
10847
10801
  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; };
10848
10802
 
10849
10803
  var ReactDebugTool = _dereq_(50);
10850
- var warning = _dereq_(157);
10804
+ var lowPriorityWarning = _dereq_(124);
10851
10805
  var alreadyWarned = false;
10852
10806
 
10853
10807
  function roundFloat(val) {
@@ -11191,7 +11145,7 @@ function printExclusive(flushHistory) {
11191
11145
  var renderCount = item.counts.render || 0;
11192
11146
  var renderDuration = item.durations.render || 0;
11193
11147
  return {
11194
- 'Component': key,
11148
+ Component: key,
11195
11149
  'Total time (ms)': roundFloat(totalDuration),
11196
11150
  'Instance count': instanceCount,
11197
11151
  'Total render time (ms)': roundFloat(renderDuration),
@@ -11259,8 +11213,8 @@ function printOperations(flushHistory) {
11259
11213
  var table = stats.map(function (stat) {
11260
11214
  return {
11261
11215
  'Owner > Node': stat.key,
11262
- 'Operation': stat.type,
11263
- 'Payload': typeof stat.payload === 'object' ? JSON.stringify(stat.payload) : stat.payload,
11216
+ Operation: stat.type,
11217
+ Payload: typeof stat.payload === 'object' ? JSON.stringify(stat.payload) : stat.payload,
11264
11218
  'Flush index': stat.flushIndex,
11265
11219
  'Owner Component ID': stat.ownerID,
11266
11220
  'DOM Component ID': stat.instanceID
@@ -11271,14 +11225,14 @@ function printOperations(flushHistory) {
11271
11225
 
11272
11226
  var warnedAboutPrintDOM = false;
11273
11227
  function printDOM(measurements) {
11274
- "development" !== 'production' ? warning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.') : void 0;
11228
+ lowPriorityWarning(warnedAboutPrintDOM, '`ReactPerf.printDOM(...)` is deprecated. Use ' + '`ReactPerf.printOperations(...)` instead.');
11275
11229
  warnedAboutPrintDOM = true;
11276
11230
  return printOperations(measurements);
11277
11231
  }
11278
11232
 
11279
11233
  var warnedAboutGetMeasurementsSummaryMap = false;
11280
11234
  function getMeasurementsSummaryMap(measurements) {
11281
- "development" !== 'production' ? warning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.') : void 0;
11235
+ lowPriorityWarning(warnedAboutGetMeasurementsSummaryMap, '`ReactPerf.getMeasurementsSummaryMap(...)` is deprecated. Use ' + '`ReactPerf.getWasted(...)` instead.');
11282
11236
  warnedAboutGetMeasurementsSummaryMap = true;
11283
11237
  return getWasted(measurements);
11284
11238
  }
@@ -11329,7 +11283,7 @@ var ReactPerfAnalysis = {
11329
11283
  };
11330
11284
 
11331
11285
  module.exports = ReactPerfAnalysis;
11332
- },{"157":157,"158":158,"50":50}],72:[function(_dereq_,module,exports){
11286
+ },{"124":124,"160":160,"50":50}],72:[function(_dereq_,module,exports){
11333
11287
  /**
11334
11288
  * Copyright 2013-present, Facebook, Inc.
11335
11289
  * All rights reserved.
@@ -11384,7 +11338,7 @@ module.exports = ReactPropTypesSecret;
11384
11338
 
11385
11339
  'use strict';
11386
11340
 
11387
- var _assign = _dereq_(158);
11341
+ var _assign = _dereq_(160);
11388
11342
 
11389
11343
  var CallbackQueue = _dereq_(6);
11390
11344
  var PooledClass = _dereq_(25);
@@ -11549,7 +11503,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction, Mixin);
11549
11503
  PooledClass.addPoolingTo(ReactReconcileTransaction);
11550
11504
 
11551
11505
  module.exports = ReactReconcileTransaction;
11552
- },{"100":100,"158":158,"25":25,"26":26,"6":6,"62":62,"64":64,"81":81}],75:[function(_dereq_,module,exports){
11506
+ },{"100":100,"160":160,"25":25,"26":26,"6":6,"62":62,"64":64,"81":81}],75:[function(_dereq_,module,exports){
11553
11507
  /**
11554
11508
  * Copyright 2013-present, Facebook, Inc.
11555
11509
  * All rights reserved.
@@ -11565,7 +11519,7 @@ module.exports = ReactReconcileTransaction;
11565
11519
  var ReactRef = _dereq_(76);
11566
11520
  var ReactInstrumentation = _dereq_(64);
11567
11521
 
11568
- var warning = _dereq_(157);
11522
+ var warning = _dereq_(159);
11569
11523
 
11570
11524
  /**
11571
11525
  * Helper to call ReactRef.attachRefs with this composite component, split out
@@ -11576,7 +11530,6 @@ function attachRefs() {
11576
11530
  }
11577
11531
 
11578
11532
  var ReactReconciler = {
11579
-
11580
11533
  /**
11581
11534
  * Initializes the component, renders markup, and registers event listeners.
11582
11535
  *
@@ -11588,8 +11541,8 @@ var ReactReconciler = {
11588
11541
  * @final
11589
11542
  * @internal
11590
11543
  */
11591
- mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots
11592
- ) {
11544
+ mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots
11545
+ {
11593
11546
  if ("development" !== 'production') {
11594
11547
  if (internalInstance._debugID !== 0) {
11595
11548
  ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);
@@ -11713,11 +11666,10 @@ var ReactReconciler = {
11713
11666
  }
11714
11667
  }
11715
11668
  }
11716
-
11717
11669
  };
11718
11670
 
11719
11671
  module.exports = ReactReconciler;
11720
- },{"157":157,"64":64,"76":76}],76:[function(_dereq_,module,exports){
11672
+ },{"159":159,"64":64,"76":76}],76:[function(_dereq_,module,exports){
11721
11673
  /**
11722
11674
  * Copyright 2013-present, Facebook, Inc.
11723
11675
  * All rights reserved.
@@ -11819,7 +11771,7 @@ module.exports = ReactRef;
11819
11771
 
11820
11772
  'use strict';
11821
11773
 
11822
- var _assign = _dereq_(158);
11774
+ var _assign = _dereq_(160);
11823
11775
 
11824
11776
  var PooledClass = _dereq_(25);
11825
11777
  var Transaction = _dereq_(100);
@@ -11896,7 +11848,7 @@ _assign(ReactServerRenderingTransaction.prototype, Transaction, Mixin);
11896
11848
  PooledClass.addPoolingTo(ReactServerRenderingTransaction);
11897
11849
 
11898
11850
  module.exports = ReactServerRenderingTransaction;
11899
- },{"100":100,"158":158,"25":25,"64":64,"78":78}],78:[function(_dereq_,module,exports){
11851
+ },{"100":100,"160":160,"25":25,"64":64,"78":78}],78:[function(_dereq_,module,exports){
11900
11852
  /**
11901
11853
  * Copyright 2015-present, Facebook, Inc.
11902
11854
  * All rights reserved.
@@ -11914,7 +11866,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
11914
11866
 
11915
11867
  var ReactUpdateQueue = _dereq_(81);
11916
11868
 
11917
- var warning = _dereq_(157);
11869
+ var warning = _dereq_(159);
11918
11870
 
11919
11871
  function warnNoop(publicInstance, callerName) {
11920
11872
  if ("development" !== 'production') {
@@ -12035,7 +11987,7 @@ var ReactServerUpdateQueue = function () {
12035
11987
  }();
12036
11988
 
12037
11989
  module.exports = ReactServerUpdateQueue;
12038
- },{"157":157,"81":81}],79:[function(_dereq_,module,exports){
11990
+ },{"159":159,"81":81}],79:[function(_dereq_,module,exports){
12039
11991
  /**
12040
11992
  * Copyright 2013-present, Facebook, Inc.
12041
11993
  * All rights reserved.
@@ -12048,21 +12000,21 @@ module.exports = ReactServerUpdateQueue;
12048
12000
 
12049
12001
  'use strict';
12050
12002
 
12051
- var _prodInvariant = _dereq_(124),
12052
- _assign = _dereq_(158);
12003
+ var _prodInvariant = _dereq_(126),
12004
+ _assign = _dereq_(160);
12053
12005
 
12054
12006
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12055
12007
 
12056
- var React = _dereq_(133);
12008
+ var React = _dereq_(135);
12057
12009
  var ReactCompositeComponent = _dereq_(30);
12058
12010
  var ReactDefaultBatchingStrategy = _dereq_(51);
12059
12011
  var ReactReconciler = _dereq_(75);
12060
12012
  var ReactReconcileTransaction = _dereq_(74);
12061
12013
  var ReactUpdates = _dereq_(82);
12062
12014
 
12063
- var emptyObject = _dereq_(143);
12064
- var getNextDebugID = _dereq_(134);
12065
- var invariant = _dereq_(150);
12015
+ var emptyObject = _dereq_(145);
12016
+ var getNextDebugID = _dereq_(136);
12017
+ var invariant = _dereq_(152);
12066
12018
 
12067
12019
  function injectDefaults() {
12068
12020
  ReactUpdates.injection.injectReconcileTransaction(ReactReconcileTransaction);
@@ -12162,6 +12114,12 @@ var ReactShallowRenderer = function () {
12162
12114
  }
12163
12115
  };
12164
12116
 
12117
+ ReactShallowRenderer.prototype.unstable_batchedUpdates = function unstable_batchedUpdates(callback, bookkeeping) {
12118
+ // This is used by Enzyme for fake-simulating events in shallow mode.
12119
+ injectDefaults();
12120
+ return ReactUpdates.batchedUpdates(callback, bookkeeping);
12121
+ };
12122
+
12165
12123
  ReactShallowRenderer.prototype._render = function _render(element, transaction, context) {
12166
12124
  if (this._instance) {
12167
12125
  ReactReconciler.receiveComponent(this._instance, element, transaction, context);
@@ -12180,7 +12138,7 @@ ReactShallowRenderer.createRenderer = function () {
12180
12138
  };
12181
12139
 
12182
12140
  module.exports = ReactShallowRenderer;
12183
- },{"124":124,"133":133,"134":134,"143":143,"150":150,"158":158,"30":30,"51":51,"74":74,"75":75,"82":82}],80:[function(_dereq_,module,exports){
12141
+ },{"126":126,"135":135,"136":136,"145":145,"152":152,"160":160,"30":30,"51":51,"74":74,"75":75,"82":82}],80:[function(_dereq_,module,exports){
12184
12142
  /**
12185
12143
  * Copyright 2013-present, Facebook, Inc.
12186
12144
  * All rights reserved.
@@ -12193,14 +12151,14 @@ module.exports = ReactShallowRenderer;
12193
12151
 
12194
12152
  'use strict';
12195
12153
 
12196
- var _prodInvariant = _dereq_(124),
12197
- _assign = _dereq_(158);
12154
+ var _prodInvariant = _dereq_(126),
12155
+ _assign = _dereq_(160);
12198
12156
 
12199
12157
  var EventConstants = _dereq_(16);
12200
12158
  var EventPluginHub = _dereq_(17);
12201
12159
  var EventPluginRegistry = _dereq_(18);
12202
12160
  var EventPropagators = _dereq_(20);
12203
- var React = _dereq_(133);
12161
+ var React = _dereq_(135);
12204
12162
  var ReactDOM = _dereq_(31);
12205
12163
  var ReactDOMComponentTree = _dereq_(34);
12206
12164
  var ReactBrowserEventEmitter = _dereq_(26);
@@ -12210,8 +12168,8 @@ var SyntheticEvent = _dereq_(91);
12210
12168
  var ReactShallowRenderer = _dereq_(79);
12211
12169
 
12212
12170
  var findDOMNode = _dereq_(108);
12213
- var invariant = _dereq_(150);
12214
- var warning = _dereq_(157);
12171
+ var invariant = _dereq_(152);
12172
+ var warning = _dereq_(159);
12215
12173
 
12216
12174
  var topLevelTypes = EventConstants.topLevelTypes;
12217
12175
 
@@ -12464,6 +12422,7 @@ var ReactTestUtils = {
12464
12422
  */
12465
12423
  simulateNativeEventOnNode: function (topLevelType, node, fakeNativeEvent) {
12466
12424
  fakeNativeEvent.target = node;
12425
+ fakeNativeEvent.simulated = true;
12467
12426
  ReactBrowserEventEmitter.ReactEventListener.dispatchEvent(topLevelType, fakeNativeEvent);
12468
12427
  },
12469
12428
 
@@ -12602,7 +12561,7 @@ Object.keys(topLevelTypes).forEach(function (eventType) {
12602
12561
  });
12603
12562
 
12604
12563
  module.exports = ReactTestUtils;
12605
- },{"108":108,"124":124,"133":133,"150":150,"157":157,"158":158,"16":16,"17":17,"18":18,"20":20,"26":26,"31":31,"34":34,"63":63,"79":79,"82":82,"91":91}],81:[function(_dereq_,module,exports){
12564
+ },{"108":108,"126":126,"135":135,"152":152,"159":159,"16":16,"160":160,"17":17,"18":18,"20":20,"26":26,"31":31,"34":34,"63":63,"79":79,"82":82,"91":91}],81:[function(_dereq_,module,exports){
12606
12565
  /**
12607
12566
  * Copyright 2015-present, Facebook, Inc.
12608
12567
  * All rights reserved.
@@ -12615,15 +12574,15 @@ module.exports = ReactTestUtils;
12615
12574
 
12616
12575
  'use strict';
12617
12576
 
12618
- var _prodInvariant = _dereq_(124);
12577
+ var _prodInvariant = _dereq_(126);
12619
12578
 
12620
- var ReactCurrentOwner = _dereq_(132);
12579
+ var ReactCurrentOwner = _dereq_(134);
12621
12580
  var ReactInstanceMap = _dereq_(63);
12622
12581
  var ReactInstrumentation = _dereq_(64);
12623
12582
  var ReactUpdates = _dereq_(82);
12624
12583
 
12625
- var invariant = _dereq_(150);
12626
- var warning = _dereq_(157);
12584
+ var invariant = _dereq_(152);
12585
+ var warning = _dereq_(159);
12627
12586
 
12628
12587
  function enqueueUpdate(internalInstance) {
12629
12588
  ReactUpdates.enqueueUpdate(internalInstance);
@@ -12656,7 +12615,7 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
12656
12615
  }
12657
12616
 
12658
12617
  if ("development" !== 'production') {
12659
- "development" !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + 'within `render` or another component\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;
12618
+ "development" !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + "within `render` or another component's constructor). Render methods " + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;
12660
12619
  }
12661
12620
 
12662
12621
  return internalInstance;
@@ -12667,7 +12626,6 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
12667
12626
  * reconciliation step.
12668
12627
  */
12669
12628
  var ReactUpdateQueue = {
12670
-
12671
12629
  /**
12672
12630
  * Checks whether or not this composite component is mounted.
12673
12631
  * @param {ReactClass} publicInstance The instance we want to test.
@@ -12834,11 +12792,10 @@ var ReactUpdateQueue = {
12834
12792
  validateCallback: function (callback, callerName) {
12835
12793
  !(!callback || typeof callback === 'function') ? "development" !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;
12836
12794
  }
12837
-
12838
12795
  };
12839
12796
 
12840
12797
  module.exports = ReactUpdateQueue;
12841
- },{"124":124,"132":132,"150":150,"157":157,"63":63,"64":64,"82":82}],82:[function(_dereq_,module,exports){
12798
+ },{"126":126,"134":134,"152":152,"159":159,"63":63,"64":64,"82":82}],82:[function(_dereq_,module,exports){
12842
12799
  /**
12843
12800
  * Copyright 2013-present, Facebook, Inc.
12844
12801
  * All rights reserved.
@@ -12851,8 +12808,8 @@ module.exports = ReactUpdateQueue;
12851
12808
 
12852
12809
  'use strict';
12853
12810
 
12854
- var _prodInvariant = _dereq_(124),
12855
- _assign = _dereq_(158);
12811
+ var _prodInvariant = _dereq_(126),
12812
+ _assign = _dereq_(160);
12856
12813
 
12857
12814
  var CallbackQueue = _dereq_(6);
12858
12815
  var PooledClass = _dereq_(25);
@@ -12860,7 +12817,7 @@ var ReactFeatureFlags = _dereq_(58);
12860
12817
  var ReactReconciler = _dereq_(75);
12861
12818
  var Transaction = _dereq_(100);
12862
12819
 
12863
- var invariant = _dereq_(150);
12820
+ var invariant = _dereq_(152);
12864
12821
 
12865
12822
  var dirtyComponents = [];
12866
12823
  var updateBatchNumber = 0;
@@ -13089,7 +13046,7 @@ var ReactUpdates = {
13089
13046
  };
13090
13047
 
13091
13048
  module.exports = ReactUpdates;
13092
- },{"100":100,"124":124,"150":150,"158":158,"25":25,"58":58,"6":6,"75":75}],83:[function(_dereq_,module,exports){
13049
+ },{"100":100,"126":126,"152":152,"160":160,"25":25,"58":58,"6":6,"75":75}],83:[function(_dereq_,module,exports){
13093
13050
  /**
13094
13051
  * Copyright 2013-present, Facebook, Inc.
13095
13052
  * All rights reserved.
@@ -13102,7 +13059,7 @@ module.exports = ReactUpdates;
13102
13059
 
13103
13060
  'use strict';
13104
13061
 
13105
- module.exports = '15.5.3';
13062
+ module.exports = '15.6.1';
13106
13063
  },{}],84:[function(_dereq_,module,exports){
13107
13064
  /**
13108
13065
  * Copyright 2013-present, Facebook, Inc.
@@ -13419,14 +13376,14 @@ module.exports = SVGDOMPropertyConfig;
13419
13376
  'use strict';
13420
13377
 
13421
13378
  var EventPropagators = _dereq_(20);
13422
- var ExecutionEnvironment = _dereq_(136);
13379
+ var ExecutionEnvironment = _dereq_(138);
13423
13380
  var ReactDOMComponentTree = _dereq_(34);
13424
13381
  var ReactInputSelection = _dereq_(62);
13425
13382
  var SyntheticEvent = _dereq_(91);
13426
13383
 
13427
- var getActiveElement = _dereq_(145);
13428
- var isTextInputElement = _dereq_(122);
13429
- var shallowEqual = _dereq_(156);
13384
+ var getActiveElement = _dereq_(147);
13385
+ var isTextInputElement = _dereq_(123);
13386
+ var shallowEqual = _dereq_(158);
13430
13387
 
13431
13388
  var skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;
13432
13389
 
@@ -13531,7 +13488,6 @@ function constructSelectEvent(nativeEvent, nativeEventTarget) {
13531
13488
  * - Fires after user input.
13532
13489
  */
13533
13490
  var SelectEventPlugin = {
13534
-
13535
13491
  eventTypes: eventTypes,
13536
13492
 
13537
13493
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -13555,7 +13511,6 @@ var SelectEventPlugin = {
13555
13511
  activeElementInst = null;
13556
13512
  lastSelection = null;
13557
13513
  break;
13558
-
13559
13514
  // Don't fire the event while the user is dragging. This matches the
13560
13515
  // semantics of the native select event.
13561
13516
  case 'topMouseDown':
@@ -13565,7 +13520,6 @@ var SelectEventPlugin = {
13565
13520
  case 'topMouseUp':
13566
13521
  mouseDown = false;
13567
13522
  return constructSelectEvent(nativeEvent, nativeEventTarget);
13568
-
13569
13523
  // Chrome and IE fire non-standard event when selection is changed (and
13570
13524
  // sometimes when it hasn't). IE's event fires out of order with respect
13571
13525
  // to key and input events on deletion, so we discard it.
@@ -13596,7 +13550,7 @@ var SelectEventPlugin = {
13596
13550
  };
13597
13551
 
13598
13552
  module.exports = SelectEventPlugin;
13599
- },{"122":122,"136":136,"145":145,"156":156,"20":20,"34":34,"62":62,"91":91}],86:[function(_dereq_,module,exports){
13553
+ },{"123":123,"138":138,"147":147,"158":158,"20":20,"34":34,"62":62,"91":91}],86:[function(_dereq_,module,exports){
13600
13554
  /**
13601
13555
  * Copyright 2013-present, Facebook, Inc.
13602
13556
  * All rights reserved.
@@ -13610,9 +13564,9 @@ module.exports = SelectEventPlugin;
13610
13564
 
13611
13565
  'use strict';
13612
13566
 
13613
- var _prodInvariant = _dereq_(124);
13567
+ var _prodInvariant = _dereq_(126);
13614
13568
 
13615
- var EventListener = _dereq_(135);
13569
+ var EventListener = _dereq_(137);
13616
13570
  var EventPropagators = _dereq_(20);
13617
13571
  var ReactDOMComponentTree = _dereq_(34);
13618
13572
  var SyntheticAnimationEvent = _dereq_(87);
@@ -13627,9 +13581,9 @@ var SyntheticTransitionEvent = _dereq_(97);
13627
13581
  var SyntheticUIEvent = _dereq_(98);
13628
13582
  var SyntheticWheelEvent = _dereq_(99);
13629
13583
 
13630
- var emptyFunction = _dereq_(142);
13584
+ var emptyFunction = _dereq_(144);
13631
13585
  var getEventCharCode = _dereq_(111);
13632
- var invariant = _dereq_(150);
13586
+ var invariant = _dereq_(152);
13633
13587
 
13634
13588
  /**
13635
13589
  * Turns
@@ -13680,7 +13634,6 @@ function isInteractive(tag) {
13680
13634
  }
13681
13635
 
13682
13636
  var SimpleEventPlugin = {
13683
-
13684
13637
  eventTypes: eventTypes,
13685
13638
 
13686
13639
  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
@@ -13820,11 +13773,10 @@ var SimpleEventPlugin = {
13820
13773
  delete onClickListeners[key];
13821
13774
  }
13822
13775
  }
13823
-
13824
13776
  };
13825
13777
 
13826
13778
  module.exports = SimpleEventPlugin;
13827
- },{"111":111,"124":124,"135":135,"142":142,"150":150,"20":20,"34":34,"87":87,"88":88,"90":90,"91":91,"92":92,"94":94,"95":95,"96":96,"97":97,"98":98,"99":99}],87:[function(_dereq_,module,exports){
13779
+ },{"111":111,"126":126,"137":137,"144":144,"152":152,"20":20,"34":34,"87":87,"88":88,"90":90,"91":91,"92":92,"94":94,"95":95,"96":96,"97":97,"98":98,"99":99}],87:[function(_dereq_,module,exports){
13828
13780
  /**
13829
13781
  * Copyright 2013-present, Facebook, Inc.
13830
13782
  * All rights reserved.
@@ -13986,12 +13938,12 @@ module.exports = SyntheticDragEvent;
13986
13938
 
13987
13939
  'use strict';
13988
13940
 
13989
- var _assign = _dereq_(158);
13941
+ var _assign = _dereq_(160);
13990
13942
 
13991
13943
  var PooledClass = _dereq_(25);
13992
13944
 
13993
- var emptyFunction = _dereq_(142);
13994
- var warning = _dereq_(157);
13945
+ var emptyFunction = _dereq_(144);
13946
+ var warning = _dereq_(159);
13995
13947
 
13996
13948
  var didWarnForAddedNewProperty = false;
13997
13949
  var isProxySupported = typeof Proxy === 'function';
@@ -14078,7 +14030,6 @@ function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarg
14078
14030
  }
14079
14031
 
14080
14032
  _assign(SyntheticEvent.prototype, {
14081
-
14082
14033
  preventDefault: function () {
14083
14034
  this.defaultPrevented = true;
14084
14035
  var event = this.nativeEvent;
@@ -14088,8 +14039,8 @@ _assign(SyntheticEvent.prototype, {
14088
14039
 
14089
14040
  if (event.preventDefault) {
14090
14041
  event.preventDefault();
14042
+ // eslint-disable-next-line valid-typeof
14091
14043
  } else if (typeof event.returnValue !== 'unknown') {
14092
- // eslint-disable-line valid-typeof
14093
14044
  event.returnValue = false;
14094
14045
  }
14095
14046
  this.isDefaultPrevented = emptyFunction.thatReturnsTrue;
@@ -14103,8 +14054,8 @@ _assign(SyntheticEvent.prototype, {
14103
14054
 
14104
14055
  if (event.stopPropagation) {
14105
14056
  event.stopPropagation();
14057
+ // eslint-disable-next-line valid-typeof
14106
14058
  } else if (typeof event.cancelBubble !== 'unknown') {
14107
- // eslint-disable-line valid-typeof
14108
14059
  // The ChangeEventPlugin registers a "propertychange" event for
14109
14060
  // IE. This event does not support bubbling or cancelling, and
14110
14061
  // any references to cancelBubble throw "Member not found". A
@@ -14153,7 +14104,6 @@ _assign(SyntheticEvent.prototype, {
14153
14104
  Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));
14154
14105
  }
14155
14106
  }
14156
-
14157
14107
  });
14158
14108
 
14159
14109
  SyntheticEvent.Interface = EventInterface;
@@ -14169,7 +14119,7 @@ if ("development" !== 'production') {
14169
14119
  return new Proxy(constructor.apply(that, args), {
14170
14120
  set: function (target, prop, value) {
14171
14121
  if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {
14172
- "development" !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;
14122
+ "development" !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), "This synthetic event is reused for performance reasons. If you're " + "seeing this, you're adding a new property in the synthetic event object. " + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;
14173
14123
  didWarnForAddedNewProperty = true;
14174
14124
  }
14175
14125
  target[prop] = value;
@@ -14238,10 +14188,10 @@ function getPooledWarningPropertyDefinition(propName, getVal) {
14238
14188
 
14239
14189
  function warn(action, result) {
14240
14190
  var warningCondition = false;
14241
- "development" !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;
14191
+ "development" !== 'production' ? warning(warningCondition, "This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;
14242
14192
  }
14243
14193
  }
14244
- },{"142":142,"157":157,"158":158,"25":25}],92:[function(_dereq_,module,exports){
14194
+ },{"144":144,"159":159,"160":160,"25":25}],92:[function(_dereq_,module,exports){
14245
14195
  /**
14246
14196
  * Copyright 2013-present, Facebook, Inc.
14247
14197
  * All rights reserved.
@@ -14634,15 +14584,12 @@ var SyntheticMouseEvent = _dereq_(95);
14634
14584
  */
14635
14585
  var WheelEventInterface = {
14636
14586
  deltaX: function (event) {
14637
- return 'deltaX' in event ? event.deltaX :
14638
- // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
14587
+ return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
14639
14588
  'wheelDeltaX' in event ? -event.wheelDeltaX : 0;
14640
14589
  },
14641
14590
  deltaY: function (event) {
14642
- return 'deltaY' in event ? event.deltaY :
14643
- // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
14644
- 'wheelDeltaY' in event ? -event.wheelDeltaY :
14645
- // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
14591
+ return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
14592
+ 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
14646
14593
  'wheelDelta' in event ? -event.wheelDelta : 0;
14647
14594
  },
14648
14595
  deltaZ: null,
@@ -14681,9 +14628,9 @@ module.exports = SyntheticWheelEvent;
14681
14628
 
14682
14629
  'use strict';
14683
14630
 
14684
- var _prodInvariant = _dereq_(124);
14631
+ var _prodInvariant = _dereq_(126);
14685
14632
 
14686
- var invariant = _dereq_(150);
14633
+ var invariant = _dereq_(152);
14687
14634
 
14688
14635
  var OBSERVED_ERROR = {};
14689
14636
 
@@ -14778,6 +14725,8 @@ var TransactionImpl = {
14778
14725
  return !!this._isInTransaction;
14779
14726
  },
14780
14727
 
14728
+ /* eslint-disable space-before-function-paren */
14729
+
14781
14730
  /**
14782
14731
  * Executes the function within a safety window. Use this for the top level
14783
14732
  * methods that result in large amounts of computation/mutations that would
@@ -14796,6 +14745,7 @@ var TransactionImpl = {
14796
14745
  * @return {*} Return value from `method`.
14797
14746
  */
14798
14747
  perform: function (method, scope, a, b, c, d, e, f) {
14748
+ /* eslint-enable space-before-function-paren */
14799
14749
  !!this.isInTransaction() ? "development" !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;
14800
14750
  var errorThrown;
14801
14751
  var ret;
@@ -14892,7 +14842,7 @@ var TransactionImpl = {
14892
14842
  };
14893
14843
 
14894
14844
  module.exports = TransactionImpl;
14895
- },{"124":124,"150":150}],101:[function(_dereq_,module,exports){
14845
+ },{"126":126,"152":152}],101:[function(_dereq_,module,exports){
14896
14846
  /**
14897
14847
  * Copyright 2013-present, Facebook, Inc.
14898
14848
  * All rights reserved.
@@ -14906,7 +14856,6 @@ module.exports = TransactionImpl;
14906
14856
  'use strict';
14907
14857
 
14908
14858
  var ViewportMetrics = {
14909
-
14910
14859
  currentScrollLeft: 0,
14911
14860
 
14912
14861
  currentScrollTop: 0,
@@ -14915,7 +14864,6 @@ var ViewportMetrics = {
14915
14864
  ViewportMetrics.currentScrollLeft = scrollPosition.x;
14916
14865
  ViewportMetrics.currentScrollTop = scrollPosition.y;
14917
14866
  }
14918
-
14919
14867
  };
14920
14868
 
14921
14869
  module.exports = ViewportMetrics;
@@ -14933,9 +14881,9 @@ module.exports = ViewportMetrics;
14933
14881
 
14934
14882
  'use strict';
14935
14883
 
14936
- var _prodInvariant = _dereq_(124);
14884
+ var _prodInvariant = _dereq_(126);
14937
14885
 
14938
- var invariant = _dereq_(150);
14886
+ var invariant = _dereq_(152);
14939
14887
 
14940
14888
  /**
14941
14889
  * Accumulates items that must not be null or undefined into the first one. This
@@ -14977,7 +14925,7 @@ function accumulateInto(current, next) {
14977
14925
  }
14978
14926
 
14979
14927
  module.exports = accumulateInto;
14980
- },{"124":124,"150":150}],103:[function(_dereq_,module,exports){
14928
+ },{"126":126,"152":152}],103:[function(_dereq_,module,exports){
14981
14929
  /**
14982
14930
  * Copyright 2013-present, Facebook, Inc.
14983
14931
  * All rights reserved.
@@ -15035,13 +14983,13 @@ module.exports = adler32;
15035
14983
 
15036
14984
  'use strict';
15037
14985
 
15038
- var _prodInvariant = _dereq_(124);
14986
+ var _prodInvariant = _dereq_(126);
15039
14987
 
15040
14988
  var ReactPropTypeLocationNames = _dereq_(72);
15041
14989
  var ReactPropTypesSecret = _dereq_(73);
15042
14990
 
15043
- var invariant = _dereq_(150);
15044
- var warning = _dereq_(157);
14991
+ var invariant = _dereq_(152);
14992
+ var warning = _dereq_(159);
15045
14993
 
15046
14994
  var ReactComponentTreeHook;
15047
14995
 
@@ -15051,7 +14999,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
15051
14999
  // https://github.com/facebook/react/issues/7240
15052
15000
  // Remove the inline requires when we don't need them anymore:
15053
15001
  // https://github.com/facebook/react/pull/7178
15054
- ReactComponentTreeHook = _dereq_(131);
15002
+ ReactComponentTreeHook = _dereq_(133);
15055
15003
  }
15056
15004
 
15057
15005
  var loggedTypeFailures = {};
@@ -15093,7 +15041,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
15093
15041
 
15094
15042
  if ("development" !== 'production') {
15095
15043
  if (!ReactComponentTreeHook) {
15096
- ReactComponentTreeHook = _dereq_(131);
15044
+ ReactComponentTreeHook = _dereq_(133);
15097
15045
  }
15098
15046
  if (debugID !== null) {
15099
15047
  componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID);
@@ -15110,7 +15058,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
15110
15058
 
15111
15059
  module.exports = checkReactTypeSpec;
15112
15060
  }).call(this,undefined)
15113
- },{"124":124,"131":131,"150":150,"157":157,"72":72,"73":73}],105:[function(_dereq_,module,exports){
15061
+ },{"126":126,"133":133,"152":152,"159":159,"72":72,"73":73}],105:[function(_dereq_,module,exports){
15114
15062
  /**
15115
15063
  * Copyright 2013-present, Facebook, Inc.
15116
15064
  * All rights reserved.
@@ -15156,7 +15104,7 @@ module.exports = createMicrosoftUnsafeLocalFunction;
15156
15104
  'use strict';
15157
15105
 
15158
15106
  var CSSProperty = _dereq_(4);
15159
- var warning = _dereq_(157);
15107
+ var warning = _dereq_(159);
15160
15108
 
15161
15109
  var isUnitlessNumber = CSSProperty.isUnitlessNumber;
15162
15110
  var styleWarnings = {};
@@ -15171,7 +15119,7 @@ var styleWarnings = {};
15171
15119
  * @param {ReactDOMComponent} component
15172
15120
  * @return {string} Normalized style value with dimensions applied.
15173
15121
  */
15174
- function dangerousStyleValue(name, value, component) {
15122
+ function dangerousStyleValue(name, value, component, isCustomProperty) {
15175
15123
  // Note that we've removed escapeTextForBrowser() calls here since the
15176
15124
  // whole string will be escaped when the attribute is injected into
15177
15125
  // the markup. If you provide unsafe user data here they can inject
@@ -15188,7 +15136,7 @@ function dangerousStyleValue(name, value, component) {
15188
15136
  }
15189
15137
 
15190
15138
  var isNonNumeric = isNaN(value);
15191
- if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {
15139
+ if (isCustomProperty || isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {
15192
15140
  return '' + value; // cast to string
15193
15141
  }
15194
15142
 
@@ -15221,7 +15169,7 @@ function dangerousStyleValue(name, value, component) {
15221
15169
  }
15222
15170
 
15223
15171
  module.exports = dangerousStyleValue;
15224
- },{"157":157,"4":4}],107:[function(_dereq_,module,exports){
15172
+ },{"159":159,"4":4}],107:[function(_dereq_,module,exports){
15225
15173
  /**
15226
15174
  * Copyright 2016-present, Facebook, Inc.
15227
15175
  * All rights reserved.
@@ -15326,7 +15274,6 @@ function escapeHtml(string) {
15326
15274
  }
15327
15275
  // end code copied and modified from escape-html
15328
15276
 
15329
-
15330
15277
  /**
15331
15278
  * Escapes text to prevent scripting attacks.
15332
15279
  *
@@ -15357,15 +15304,15 @@ module.exports = escapeTextContentForBrowser;
15357
15304
 
15358
15305
  'use strict';
15359
15306
 
15360
- var _prodInvariant = _dereq_(124);
15307
+ var _prodInvariant = _dereq_(126);
15361
15308
 
15362
- var ReactCurrentOwner = _dereq_(132);
15309
+ var ReactCurrentOwner = _dereq_(134);
15363
15310
  var ReactDOMComponentTree = _dereq_(34);
15364
15311
  var ReactInstanceMap = _dereq_(63);
15365
15312
 
15366
15313
  var getHostComponentFromComposite = _dereq_(115);
15367
- var invariant = _dereq_(150);
15368
- var warning = _dereq_(157);
15314
+ var invariant = _dereq_(152);
15315
+ var warning = _dereq_(159);
15369
15316
 
15370
15317
  /**
15371
15318
  * Returns the DOM node rendered by this element.
@@ -15404,7 +15351,7 @@ function findDOMNode(componentOrElement) {
15404
15351
  }
15405
15352
 
15406
15353
  module.exports = findDOMNode;
15407
- },{"115":115,"124":124,"132":132,"150":150,"157":157,"34":34,"63":63}],109:[function(_dereq_,module,exports){
15354
+ },{"115":115,"126":126,"134":134,"152":152,"159":159,"34":34,"63":63}],109:[function(_dereq_,module,exports){
15408
15355
  (function (process){
15409
15356
  /**
15410
15357
  * Copyright 2013-present, Facebook, Inc.
@@ -15420,8 +15367,8 @@ module.exports = findDOMNode;
15420
15367
  'use strict';
15421
15368
 
15422
15369
  var KeyEscapeUtils = _dereq_(23);
15423
- var traverseAllChildren = _dereq_(129);
15424
- var warning = _dereq_(157);
15370
+ var traverseAllChildren = _dereq_(131);
15371
+ var warning = _dereq_(159);
15425
15372
 
15426
15373
  var ReactComponentTreeHook;
15427
15374
 
@@ -15431,7 +15378,7 @@ if (typeof process !== 'undefined' && process.env && "development" === 'test') {
15431
15378
  // https://github.com/facebook/react/issues/7240
15432
15379
  // Remove the inline requires when we don't need them anymore:
15433
15380
  // https://github.com/facebook/react/pull/7178
15434
- ReactComponentTreeHook = _dereq_(131);
15381
+ ReactComponentTreeHook = _dereq_(133);
15435
15382
  }
15436
15383
 
15437
15384
  /**
@@ -15447,7 +15394,7 @@ function flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID
15447
15394
  var keyUnique = result[name] === undefined;
15448
15395
  if ("development" !== 'production') {
15449
15396
  if (!ReactComponentTreeHook) {
15450
- ReactComponentTreeHook = _dereq_(131);
15397
+ ReactComponentTreeHook = _dereq_(133);
15451
15398
  }
15452
15399
  if (!keyUnique) {
15453
15400
  "development" !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;
@@ -15482,7 +15429,7 @@ function flattenChildren(children, selfDebugID) {
15482
15429
 
15483
15430
  module.exports = flattenChildren;
15484
15431
  }).call(this,undefined)
15485
- },{"129":129,"131":131,"157":157,"23":23}],110:[function(_dereq_,module,exports){
15432
+ },{"131":131,"133":133,"159":159,"23":23}],110:[function(_dereq_,module,exports){
15486
15433
  /**
15487
15434
  * Copyright 2013-present, Facebook, Inc.
15488
15435
  * All rights reserved.
@@ -15583,18 +15530,18 @@ var getEventCharCode = _dereq_(111);
15583
15530
  * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
15584
15531
  */
15585
15532
  var normalizeKey = {
15586
- 'Esc': 'Escape',
15587
- 'Spacebar': ' ',
15588
- 'Left': 'ArrowLeft',
15589
- 'Up': 'ArrowUp',
15590
- 'Right': 'ArrowRight',
15591
- 'Down': 'ArrowDown',
15592
- 'Del': 'Delete',
15593
- 'Win': 'OS',
15594
- 'Menu': 'ContextMenu',
15595
- 'Apps': 'ContextMenu',
15596
- 'Scroll': 'ScrollLock',
15597
- 'MozPrintableKey': 'Unidentified'
15533
+ Esc: 'Escape',
15534
+ Spacebar: ' ',
15535
+ Left: 'ArrowLeft',
15536
+ Up: 'ArrowUp',
15537
+ Right: 'ArrowRight',
15538
+ Down: 'ArrowDown',
15539
+ Del: 'Delete',
15540
+ Win: 'OS',
15541
+ Menu: 'ContextMenu',
15542
+ Apps: 'ContextMenu',
15543
+ Scroll: 'ScrollLock',
15544
+ MozPrintableKey: 'Unidentified'
15598
15545
  };
15599
15546
 
15600
15547
  /**
@@ -15624,8 +15571,18 @@ var translateToKey = {
15624
15571
  40: 'ArrowDown',
15625
15572
  45: 'Insert',
15626
15573
  46: 'Delete',
15627
- 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',
15628
- 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',
15574
+ 112: 'F1',
15575
+ 113: 'F2',
15576
+ 114: 'F3',
15577
+ 115: 'F4',
15578
+ 116: 'F5',
15579
+ 117: 'F6',
15580
+ 118: 'F7',
15581
+ 119: 'F8',
15582
+ 120: 'F9',
15583
+ 121: 'F10',
15584
+ 122: 'F11',
15585
+ 123: 'F12',
15629
15586
  144: 'NumLock',
15630
15587
  145: 'ScrollLock',
15631
15588
  224: 'Meta'
@@ -15684,10 +15641,10 @@ module.exports = getEventKey;
15684
15641
  */
15685
15642
 
15686
15643
  var modifierKeyToProp = {
15687
- 'Alt': 'altKey',
15688
- 'Control': 'ctrlKey',
15689
- 'Meta': 'metaKey',
15690
- 'Shift': 'shiftKey'
15644
+ Alt: 'altKey',
15645
+ Control: 'ctrlKey',
15646
+ Meta: 'metaKey',
15647
+ Shift: 'shiftKey'
15691
15648
  };
15692
15649
 
15693
15650
  // IE8 does not implement getModifierState so we simply map it to the only
@@ -15901,7 +15858,7 @@ module.exports = getNodeForCharacterOffset;
15901
15858
 
15902
15859
  'use strict';
15903
15860
 
15904
- var ExecutionEnvironment = _dereq_(136);
15861
+ var ExecutionEnvironment = _dereq_(138);
15905
15862
 
15906
15863
  var contentKey = null;
15907
15864
 
@@ -15921,7 +15878,7 @@ function getTextContentAccessor() {
15921
15878
  }
15922
15879
 
15923
15880
  module.exports = getTextContentAccessor;
15924
- },{"136":136}],119:[function(_dereq_,module,exports){
15881
+ },{"138":138}],119:[function(_dereq_,module,exports){
15925
15882
  /**
15926
15883
  * Copyright 2013-present, Facebook, Inc.
15927
15884
  * All rights reserved.
@@ -15934,7 +15891,7 @@ module.exports = getTextContentAccessor;
15934
15891
 
15935
15892
  'use strict';
15936
15893
 
15937
- var ExecutionEnvironment = _dereq_(136);
15894
+ var ExecutionEnvironment = _dereq_(138);
15938
15895
 
15939
15896
  /**
15940
15897
  * Generate a mapping of standard vendor prefixes using the defined style property and event name.
@@ -16022,7 +15979,130 @@ function getVendorPrefixedEventName(eventName) {
16022
15979
  }
16023
15980
 
16024
15981
  module.exports = getVendorPrefixedEventName;
16025
- },{"136":136}],120:[function(_dereq_,module,exports){
15982
+ },{"138":138}],120:[function(_dereq_,module,exports){
15983
+ /**
15984
+ * Copyright 2013-present, Facebook, Inc.
15985
+ * All rights reserved.
15986
+ *
15987
+ * This source code is licensed under the BSD-style license found in the
15988
+ * LICENSE file in the root directory of this source tree. An additional grant
15989
+ * of patent rights can be found in the PATENTS file in the same directory.
15990
+ *
15991
+ */
15992
+
15993
+ 'use strict';
15994
+
15995
+ var ReactDOMComponentTree = _dereq_(34);
15996
+
15997
+ function isCheckable(elem) {
15998
+ var type = elem.type;
15999
+ var nodeName = elem.nodeName;
16000
+ return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');
16001
+ }
16002
+
16003
+ function getTracker(inst) {
16004
+ return inst._wrapperState.valueTracker;
16005
+ }
16006
+
16007
+ function attachTracker(inst, tracker) {
16008
+ inst._wrapperState.valueTracker = tracker;
16009
+ }
16010
+
16011
+ function detachTracker(inst) {
16012
+ delete inst._wrapperState.valueTracker;
16013
+ }
16014
+
16015
+ function getValueFromNode(node) {
16016
+ var value;
16017
+ if (node) {
16018
+ value = isCheckable(node) ? '' + node.checked : node.value;
16019
+ }
16020
+ return value;
16021
+ }
16022
+
16023
+ var inputValueTracking = {
16024
+ // exposed for testing
16025
+ _getTrackerFromNode: function (node) {
16026
+ return getTracker(ReactDOMComponentTree.getInstanceFromNode(node));
16027
+ },
16028
+
16029
+
16030
+ track: function (inst) {
16031
+ if (getTracker(inst)) {
16032
+ return;
16033
+ }
16034
+
16035
+ var node = ReactDOMComponentTree.getNodeFromInstance(inst);
16036
+ var valueField = isCheckable(node) ? 'checked' : 'value';
16037
+ var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);
16038
+
16039
+ var currentValue = '' + node[valueField];
16040
+
16041
+ // if someone has already defined a value or Safari, then bail
16042
+ // and don't track value will cause over reporting of changes,
16043
+ // but it's better then a hard failure
16044
+ // (needed for certain tests that spyOn input values and Safari)
16045
+ if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {
16046
+ return;
16047
+ }
16048
+
16049
+ Object.defineProperty(node, valueField, {
16050
+ enumerable: descriptor.enumerable,
16051
+ configurable: true,
16052
+ get: function () {
16053
+ return descriptor.get.call(this);
16054
+ },
16055
+ set: function (value) {
16056
+ currentValue = '' + value;
16057
+ descriptor.set.call(this, value);
16058
+ }
16059
+ });
16060
+
16061
+ attachTracker(inst, {
16062
+ getValue: function () {
16063
+ return currentValue;
16064
+ },
16065
+ setValue: function (value) {
16066
+ currentValue = '' + value;
16067
+ },
16068
+ stopTracking: function () {
16069
+ detachTracker(inst);
16070
+ delete node[valueField];
16071
+ }
16072
+ });
16073
+ },
16074
+
16075
+ updateValueIfChanged: function (inst) {
16076
+ if (!inst) {
16077
+ return false;
16078
+ }
16079
+ var tracker = getTracker(inst);
16080
+
16081
+ if (!tracker) {
16082
+ inputValueTracking.track(inst);
16083
+ return true;
16084
+ }
16085
+
16086
+ var lastValue = tracker.getValue();
16087
+ var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));
16088
+
16089
+ if (nextValue !== lastValue) {
16090
+ tracker.setValue(nextValue);
16091
+ return true;
16092
+ }
16093
+
16094
+ return false;
16095
+ },
16096
+ stopTracking: function (inst) {
16097
+ var tracker = getTracker(inst);
16098
+ if (tracker) {
16099
+ tracker.stopTracking();
16100
+ }
16101
+ }
16102
+ };
16103
+
16104
+ module.exports = inputValueTracking;
16105
+ },{"34":34}],121:[function(_dereq_,module,exports){
16026
16106
  /**
16027
16107
  * Copyright 2013-present, Facebook, Inc.
16028
16108
  * All rights reserved.
@@ -16035,16 +16115,16 @@ module.exports = getVendorPrefixedEventName;
16035
16115
 
16036
16116
  'use strict';
16037
16117
 
16038
- var _prodInvariant = _dereq_(124),
16039
- _assign = _dereq_(158);
16118
+ var _prodInvariant = _dereq_(126),
16119
+ _assign = _dereq_(160);
16040
16120
 
16041
16121
  var ReactCompositeComponent = _dereq_(30);
16042
16122
  var ReactEmptyComponent = _dereq_(54);
16043
16123
  var ReactHostComponent = _dereq_(59);
16044
16124
 
16045
- var getNextDebugID = _dereq_(134);
16046
- var invariant = _dereq_(150);
16047
- var warning = _dereq_(157);
16125
+ var getNextDebugID = _dereq_(136);
16126
+ var invariant = _dereq_(152);
16127
+ var warning = _dereq_(159);
16048
16128
 
16049
16129
  // To avoid a cyclic dependency, we create the final class in this module
16050
16130
  var ReactCompositeComponentWrapper = function (element) {
@@ -16092,7 +16172,7 @@ function instantiateReactComponent(node, shouldHaveDebugID) {
16092
16172
  var info = '';
16093
16173
  if ("development" !== 'production') {
16094
16174
  if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
16095
- info += ' You likely forgot to export your component from the file ' + 'it\'s defined in.';
16175
+ info += ' You likely forgot to export your component from the file ' + "it's defined in.";
16096
16176
  }
16097
16177
  }
16098
16178
  info += getDeclarationErrorAddendum(element._owner);
@@ -16151,7 +16231,7 @@ _assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent, {
16151
16231
  });
16152
16232
 
16153
16233
  module.exports = instantiateReactComponent;
16154
- },{"124":124,"134":134,"150":150,"157":157,"158":158,"30":30,"54":54,"59":59}],121:[function(_dereq_,module,exports){
16234
+ },{"126":126,"136":136,"152":152,"159":159,"160":160,"30":30,"54":54,"59":59}],122:[function(_dereq_,module,exports){
16155
16235
  /**
16156
16236
  * Copyright 2013-present, Facebook, Inc.
16157
16237
  * All rights reserved.
@@ -16164,7 +16244,7 @@ module.exports = instantiateReactComponent;
16164
16244
 
16165
16245
  'use strict';
16166
16246
 
16167
- var ExecutionEnvironment = _dereq_(136);
16247
+ var ExecutionEnvironment = _dereq_(138);
16168
16248
 
16169
16249
  var useHasFeature;
16170
16250
  if (ExecutionEnvironment.canUseDOM) {
@@ -16211,7 +16291,7 @@ function isEventSupported(eventNameSuffix, capture) {
16211
16291
  }
16212
16292
 
16213
16293
  module.exports = isEventSupported;
16214
- },{"136":136}],122:[function(_dereq_,module,exports){
16294
+ },{"138":138}],123:[function(_dereq_,module,exports){
16215
16295
  /**
16216
16296
  * Copyright 2013-present, Facebook, Inc.
16217
16297
  * All rights reserved.
@@ -16230,21 +16310,21 @@ module.exports = isEventSupported;
16230
16310
  */
16231
16311
 
16232
16312
  var supportedInputTypes = {
16233
- 'color': true,
16234
- 'date': true,
16235
- 'datetime': true,
16313
+ color: true,
16314
+ date: true,
16315
+ datetime: true,
16236
16316
  'datetime-local': true,
16237
- 'email': true,
16238
- 'month': true,
16239
- 'number': true,
16240
- 'password': true,
16241
- 'range': true,
16242
- 'search': true,
16243
- 'tel': true,
16244
- 'text': true,
16245
- 'time': true,
16246
- 'url': true,
16247
- 'week': true
16317
+ email: true,
16318
+ month: true,
16319
+ number: true,
16320
+ password: true,
16321
+ range: true,
16322
+ search: true,
16323
+ tel: true,
16324
+ text: true,
16325
+ time: true,
16326
+ url: true,
16327
+ week: true
16248
16328
  };
16249
16329
 
16250
16330
  function isTextInputElement(elem) {
@@ -16262,7 +16342,72 @@ function isTextInputElement(elem) {
16262
16342
  }
16263
16343
 
16264
16344
  module.exports = isTextInputElement;
16265
- },{}],123:[function(_dereq_,module,exports){
16345
+ },{}],124:[function(_dereq_,module,exports){
16346
+ /**
16347
+ * Copyright 2014-2015, Facebook, Inc.
16348
+ * All rights reserved.
16349
+ *
16350
+ * This source code is licensed under the BSD-style license found in the
16351
+ * LICENSE file in the root directory of this source tree. An additional grant
16352
+ * of patent rights can be found in the PATENTS file in the same directory.
16353
+ *
16354
+ */
16355
+
16356
+ 'use strict';
16357
+
16358
+ /**
16359
+ * Forked from fbjs/warning:
16360
+ * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
16361
+ *
16362
+ * Only change is we use console.warn instead of console.error,
16363
+ * and do nothing when 'console' is not supported.
16364
+ * This really simplifies the code.
16365
+ * ---
16366
+ * Similar to invariant but only logs a warning if the condition is not met.
16367
+ * This can be used to log issues in development environments in critical
16368
+ * paths. Removing the logging code for production environments will keep the
16369
+ * same logic and follow the same code paths.
16370
+ */
16371
+
16372
+ var lowPriorityWarning = function () {};
16373
+
16374
+ if ("development" !== 'production') {
16375
+ var printWarning = function (format) {
16376
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
16377
+ args[_key - 1] = arguments[_key];
16378
+ }
16379
+
16380
+ var argIndex = 0;
16381
+ var message = 'Warning: ' + format.replace(/%s/g, function () {
16382
+ return args[argIndex++];
16383
+ });
16384
+ if (typeof console !== 'undefined') {
16385
+ console.warn(message);
16386
+ }
16387
+ try {
16388
+ // --- Welcome to debugging React ---
16389
+ // This error was thrown as a convenience so that you can use this stack
16390
+ // to find the callsite that caused this warning to fire.
16391
+ throw new Error(message);
16392
+ } catch (x) {}
16393
+ };
16394
+
16395
+ lowPriorityWarning = function (condition, format) {
16396
+ if (format === undefined) {
16397
+ throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
16398
+ }
16399
+ if (!condition) {
16400
+ for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
16401
+ args[_key2 - 2] = arguments[_key2];
16402
+ }
16403
+
16404
+ printWarning.apply(undefined, [format].concat(args));
16405
+ }
16406
+ };
16407
+ }
16408
+
16409
+ module.exports = lowPriorityWarning;
16410
+ },{}],125:[function(_dereq_,module,exports){
16266
16411
  /**
16267
16412
  * Copyright 2013-present, Facebook, Inc.
16268
16413
  * All rights reserved.
@@ -16288,7 +16433,7 @@ function quoteAttributeValueForBrowser(value) {
16288
16433
  }
16289
16434
 
16290
16435
  module.exports = quoteAttributeValueForBrowser;
16291
- },{"107":107}],124:[function(_dereq_,module,exports){
16436
+ },{"107":107}],126:[function(_dereq_,module,exports){
16292
16437
  /**
16293
16438
  * Copyright (c) 2013-present, Facebook, Inc.
16294
16439
  * All rights reserved.
@@ -16327,7 +16472,7 @@ function reactProdInvariant(code) {
16327
16472
  }
16328
16473
 
16329
16474
  module.exports = reactProdInvariant;
16330
- },{}],125:[function(_dereq_,module,exports){
16475
+ },{}],127:[function(_dereq_,module,exports){
16331
16476
  /**
16332
16477
  * Copyright 2013-present, Facebook, Inc.
16333
16478
  * All rights reserved.
@@ -16343,7 +16488,7 @@ module.exports = reactProdInvariant;
16343
16488
  var ReactMount = _dereq_(67);
16344
16489
 
16345
16490
  module.exports = ReactMount.renderSubtreeIntoContainer;
16346
- },{"67":67}],126:[function(_dereq_,module,exports){
16491
+ },{"67":67}],128:[function(_dereq_,module,exports){
16347
16492
  /**
16348
16493
  * Copyright 2013-present, Facebook, Inc.
16349
16494
  * All rights reserved.
@@ -16356,7 +16501,7 @@ module.exports = ReactMount.renderSubtreeIntoContainer;
16356
16501
 
16357
16502
  'use strict';
16358
16503
 
16359
- var ExecutionEnvironment = _dereq_(136);
16504
+ var ExecutionEnvironment = _dereq_(138);
16360
16505
  var DOMNamespaces = _dereq_(10);
16361
16506
 
16362
16507
  var WHITESPACE_TEST = /^[ \r\n\t\f]/;
@@ -16422,7 +16567,7 @@ if (ExecutionEnvironment.canUseDOM) {
16422
16567
  // in hopes that this is preserved even if "\uFEFF" is transformed to
16423
16568
  // the actual Unicode character (by Babel, for example).
16424
16569
  // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216
16425
- node.innerHTML = String.fromCharCode(0xFEFF) + html;
16570
+ node.innerHTML = String.fromCharCode(0xfeff) + html;
16426
16571
 
16427
16572
  // deleteData leaves an empty `TextNode` which offsets the index of all
16428
16573
  // children. Definitely want to avoid this.
@@ -16441,7 +16586,7 @@ if (ExecutionEnvironment.canUseDOM) {
16441
16586
  }
16442
16587
 
16443
16588
  module.exports = setInnerHTML;
16444
- },{"10":10,"105":105,"136":136}],127:[function(_dereq_,module,exports){
16589
+ },{"10":10,"105":105,"138":138}],129:[function(_dereq_,module,exports){
16445
16590
  /**
16446
16591
  * Copyright 2013-present, Facebook, Inc.
16447
16592
  * All rights reserved.
@@ -16454,9 +16599,9 @@ module.exports = setInnerHTML;
16454
16599
 
16455
16600
  'use strict';
16456
16601
 
16457
- var ExecutionEnvironment = _dereq_(136);
16602
+ var ExecutionEnvironment = _dereq_(138);
16458
16603
  var escapeTextContentForBrowser = _dereq_(107);
16459
- var setInnerHTML = _dereq_(126);
16604
+ var setInnerHTML = _dereq_(128);
16460
16605
 
16461
16606
  /**
16462
16607
  * Set the textContent property of a node, ensuring that whitespace is preserved
@@ -16493,7 +16638,7 @@ if (ExecutionEnvironment.canUseDOM) {
16493
16638
  }
16494
16639
 
16495
16640
  module.exports = setTextContent;
16496
- },{"107":107,"126":126,"136":136}],128:[function(_dereq_,module,exports){
16641
+ },{"107":107,"128":128,"138":138}],130:[function(_dereq_,module,exports){
16497
16642
  /**
16498
16643
  * Copyright 2013-present, Facebook, Inc.
16499
16644
  * All rights reserved.
@@ -16535,7 +16680,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) {
16535
16680
  }
16536
16681
 
16537
16682
  module.exports = shouldUpdateReactComponent;
16538
- },{}],129:[function(_dereq_,module,exports){
16683
+ },{}],131:[function(_dereq_,module,exports){
16539
16684
  /**
16540
16685
  * Copyright 2013-present, Facebook, Inc.
16541
16686
  * All rights reserved.
@@ -16548,15 +16693,15 @@ module.exports = shouldUpdateReactComponent;
16548
16693
 
16549
16694
  'use strict';
16550
16695
 
16551
- var _prodInvariant = _dereq_(124);
16696
+ var _prodInvariant = _dereq_(126);
16552
16697
 
16553
- var ReactCurrentOwner = _dereq_(132);
16698
+ var ReactCurrentOwner = _dereq_(134);
16554
16699
  var REACT_ELEMENT_TYPE = _dereq_(53);
16555
16700
 
16556
16701
  var getIteratorFn = _dereq_(116);
16557
- var invariant = _dereq_(150);
16702
+ var invariant = _dereq_(152);
16558
16703
  var KeyEscapeUtils = _dereq_(23);
16559
- var warning = _dereq_(157);
16704
+ var warning = _dereq_(159);
16560
16705
 
16561
16706
  var SEPARATOR = '.';
16562
16707
  var SUBSEPARATOR = ':';
@@ -16669,7 +16814,7 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext)
16669
16814
  if ("development" !== 'production') {
16670
16815
  addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
16671
16816
  if (children._isReactElement) {
16672
- addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';
16817
+ addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.';
16673
16818
  }
16674
16819
  if (ReactCurrentOwner.current) {
16675
16820
  var name = ReactCurrentOwner.current.getName();
@@ -16711,7 +16856,7 @@ function traverseAllChildren(children, callback, traverseContext) {
16711
16856
  }
16712
16857
 
16713
16858
  module.exports = traverseAllChildren;
16714
- },{"116":116,"124":124,"132":132,"150":150,"157":157,"23":23,"53":53}],130:[function(_dereq_,module,exports){
16859
+ },{"116":116,"126":126,"134":134,"152":152,"159":159,"23":23,"53":53}],132:[function(_dereq_,module,exports){
16715
16860
  /**
16716
16861
  * Copyright 2015-present, Facebook, Inc.
16717
16862
  * All rights reserved.
@@ -16724,10 +16869,10 @@ module.exports = traverseAllChildren;
16724
16869
 
16725
16870
  'use strict';
16726
16871
 
16727
- var _assign = _dereq_(158);
16872
+ var _assign = _dereq_(160);
16728
16873
 
16729
- var emptyFunction = _dereq_(142);
16730
- var warning = _dereq_(157);
16874
+ var emptyFunction = _dereq_(144);
16875
+ var warning = _dereq_(159);
16731
16876
 
16732
16877
  var validateDOMNesting = emptyFunction;
16733
16878
 
@@ -16835,7 +16980,6 @@ if ("development" !== 'production') {
16835
16980
  // but
16836
16981
  case 'option':
16837
16982
  return tag === '#text';
16838
-
16839
16983
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd
16840
16984
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption
16841
16985
  // No special behavior since these rules fall back to "in body" mode for
@@ -16844,25 +16988,20 @@ if ("development" !== 'production') {
16844
16988
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr
16845
16989
  case 'tr':
16846
16990
  return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';
16847
-
16848
16991
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody
16849
16992
  case 'tbody':
16850
16993
  case 'thead':
16851
16994
  case 'tfoot':
16852
16995
  return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';
16853
-
16854
16996
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup
16855
16997
  case 'colgroup':
16856
16998
  return tag === 'col' || tag === 'template';
16857
-
16858
16999
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable
16859
17000
  case 'table':
16860
17001
  return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';
16861
-
16862
17002
  // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead
16863
17003
  case 'head':
16864
17004
  return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';
16865
-
16866
17005
  // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element
16867
17006
  case 'html':
16868
17007
  return tag === 'head' || tag === 'body';
@@ -17058,7 +17197,7 @@ if ("development" !== 'production') {
17058
17197
  tagDisplayName = 'Text nodes';
17059
17198
  } else {
17060
17199
  tagDisplayName = 'Whitespace text nodes';
17061
- whitespaceInfo = ' Make sure you don\'t have any extra whitespace between tags on ' + 'each line of your source code.';
17200
+ whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.';
17062
17201
  }
17063
17202
  } else {
17064
17203
  tagDisplayName = '<' + childTag + '>';
@@ -17088,7 +17227,7 @@ if ("development" !== 'production') {
17088
17227
  }
17089
17228
 
17090
17229
  module.exports = validateDOMNesting;
17091
- },{"142":142,"157":157,"158":158}],131:[function(_dereq_,module,exports){
17230
+ },{"144":144,"159":159,"160":160}],133:[function(_dereq_,module,exports){
17092
17231
  /**
17093
17232
  * Copyright 2013-present, Facebook, Inc.
17094
17233
  * All rights reserved.
@@ -17106,7 +17245,7 @@ module.exports = validateDOMNesting;
17106
17245
  var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
17107
17246
 
17108
17247
  module.exports = ReactInternals.ReactComponentTreeHook;
17109
- },{}],132:[function(_dereq_,module,exports){
17248
+ },{}],134:[function(_dereq_,module,exports){
17110
17249
  /**
17111
17250
  * Copyright 2013-present, Facebook, Inc.
17112
17251
  * All rights reserved.
@@ -17124,7 +17263,7 @@ module.exports = ReactInternals.ReactComponentTreeHook;
17124
17263
  var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
17125
17264
 
17126
17265
  module.exports = ReactInternals.ReactCurrentOwner;
17127
- },{}],133:[function(_dereq_,module,exports){
17266
+ },{}],135:[function(_dereq_,module,exports){
17128
17267
  /**
17129
17268
  * Copyright 2013-present, Facebook, Inc.
17130
17269
  * All rights reserved.
@@ -17140,7 +17279,7 @@ module.exports = ReactInternals.ReactCurrentOwner;
17140
17279
  'use strict';
17141
17280
 
17142
17281
  module.exports = React;
17143
- },{}],134:[function(_dereq_,module,exports){
17282
+ },{}],136:[function(_dereq_,module,exports){
17144
17283
  /**
17145
17284
  * Copyright 2013-present, Facebook, Inc.
17146
17285
  * All rights reserved.
@@ -17158,7 +17297,7 @@ module.exports = React;
17158
17297
  var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
17159
17298
 
17160
17299
  module.exports = ReactInternals.getNextDebugID;
17161
- },{}],135:[function(_dereq_,module,exports){
17300
+ },{}],137:[function(_dereq_,module,exports){
17162
17301
  'use strict';
17163
17302
 
17164
17303
  /**
@@ -17179,7 +17318,7 @@ module.exports = ReactInternals.getNextDebugID;
17179
17318
  * @typechecks
17180
17319
  */
17181
17320
 
17182
- var emptyFunction = _dereq_(142);
17321
+ var emptyFunction = _dereq_(144);
17183
17322
 
17184
17323
  /**
17185
17324
  * Upstream version of event listener. Does not take into account specific
@@ -17242,7 +17381,7 @@ var EventListener = {
17242
17381
  };
17243
17382
 
17244
17383
  module.exports = EventListener;
17245
- },{"142":142}],136:[function(_dereq_,module,exports){
17384
+ },{"144":144}],138:[function(_dereq_,module,exports){
17246
17385
  /**
17247
17386
  * Copyright (c) 2013-present, Facebook, Inc.
17248
17387
  * All rights reserved.
@@ -17278,7 +17417,7 @@ var ExecutionEnvironment = {
17278
17417
  };
17279
17418
 
17280
17419
  module.exports = ExecutionEnvironment;
17281
- },{}],137:[function(_dereq_,module,exports){
17420
+ },{}],139:[function(_dereq_,module,exports){
17282
17421
  "use strict";
17283
17422
 
17284
17423
  /**
@@ -17310,7 +17449,7 @@ function camelize(string) {
17310
17449
  }
17311
17450
 
17312
17451
  module.exports = camelize;
17313
- },{}],138:[function(_dereq_,module,exports){
17452
+ },{}],140:[function(_dereq_,module,exports){
17314
17453
  /**
17315
17454
  * Copyright (c) 2013-present, Facebook, Inc.
17316
17455
  * All rights reserved.
@@ -17324,7 +17463,7 @@ module.exports = camelize;
17324
17463
 
17325
17464
  'use strict';
17326
17465
 
17327
- var camelize = _dereq_(137);
17466
+ var camelize = _dereq_(139);
17328
17467
 
17329
17468
  var msPattern = /^-ms-/;
17330
17469
 
@@ -17350,7 +17489,7 @@ function camelizeStyleName(string) {
17350
17489
  }
17351
17490
 
17352
17491
  module.exports = camelizeStyleName;
17353
- },{"137":137}],139:[function(_dereq_,module,exports){
17492
+ },{"139":139}],141:[function(_dereq_,module,exports){
17354
17493
  'use strict';
17355
17494
 
17356
17495
  /**
@@ -17364,7 +17503,7 @@ module.exports = camelizeStyleName;
17364
17503
  *
17365
17504
  */
17366
17505
 
17367
- var isTextNode = _dereq_(152);
17506
+ var isTextNode = _dereq_(154);
17368
17507
 
17369
17508
  /*eslint-disable no-bitwise */
17370
17509
 
@@ -17390,7 +17529,7 @@ function containsNode(outerNode, innerNode) {
17390
17529
  }
17391
17530
 
17392
17531
  module.exports = containsNode;
17393
- },{"152":152}],140:[function(_dereq_,module,exports){
17532
+ },{"154":154}],142:[function(_dereq_,module,exports){
17394
17533
  'use strict';
17395
17534
 
17396
17535
  /**
@@ -17404,7 +17543,7 @@ module.exports = containsNode;
17404
17543
  * @typechecks
17405
17544
  */
17406
17545
 
17407
- var invariant = _dereq_(150);
17546
+ var invariant = _dereq_(152);
17408
17547
 
17409
17548
  /**
17410
17549
  * Convert array-like objects to arrays.
@@ -17517,7 +17656,7 @@ function createArrayFromMixed(obj) {
17517
17656
  }
17518
17657
 
17519
17658
  module.exports = createArrayFromMixed;
17520
- },{"150":150}],141:[function(_dereq_,module,exports){
17659
+ },{"152":152}],143:[function(_dereq_,module,exports){
17521
17660
  'use strict';
17522
17661
 
17523
17662
  /**
@@ -17533,11 +17672,11 @@ module.exports = createArrayFromMixed;
17533
17672
 
17534
17673
  /*eslint-disable fb-www/unsafe-html*/
17535
17674
 
17536
- var ExecutionEnvironment = _dereq_(136);
17675
+ var ExecutionEnvironment = _dereq_(138);
17537
17676
 
17538
- var createArrayFromMixed = _dereq_(140);
17539
- var getMarkupWrap = _dereq_(146);
17540
- var invariant = _dereq_(150);
17677
+ var createArrayFromMixed = _dereq_(142);
17678
+ var getMarkupWrap = _dereq_(148);
17679
+ var invariant = _dereq_(152);
17541
17680
 
17542
17681
  /**
17543
17682
  * Dummy container used to render all markup.
@@ -17601,7 +17740,7 @@ function createNodesFromMarkup(markup, handleScript) {
17601
17740
  }
17602
17741
 
17603
17742
  module.exports = createNodesFromMarkup;
17604
- },{"136":136,"140":140,"146":146,"150":150}],142:[function(_dereq_,module,exports){
17743
+ },{"138":138,"142":142,"148":148,"152":152}],144:[function(_dereq_,module,exports){
17605
17744
  "use strict";
17606
17745
 
17607
17746
  /**
@@ -17640,7 +17779,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
17640
17779
  };
17641
17780
 
17642
17781
  module.exports = emptyFunction;
17643
- },{}],143:[function(_dereq_,module,exports){
17782
+ },{}],145:[function(_dereq_,module,exports){
17644
17783
  /**
17645
17784
  * Copyright (c) 2013-present, Facebook, Inc.
17646
17785
  * All rights reserved.
@@ -17660,7 +17799,7 @@ if ("development" !== 'production') {
17660
17799
  }
17661
17800
 
17662
17801
  module.exports = emptyObject;
17663
- },{}],144:[function(_dereq_,module,exports){
17802
+ },{}],146:[function(_dereq_,module,exports){
17664
17803
  /**
17665
17804
  * Copyright (c) 2013-present, Facebook, Inc.
17666
17805
  * All rights reserved.
@@ -17687,7 +17826,7 @@ function focusNode(node) {
17687
17826
  }
17688
17827
 
17689
17828
  module.exports = focusNode;
17690
- },{}],145:[function(_dereq_,module,exports){
17829
+ },{}],147:[function(_dereq_,module,exports){
17691
17830
  'use strict';
17692
17831
 
17693
17832
  /**
@@ -17726,7 +17865,7 @@ function getActiveElement(doc) /*?DOMElement*/{
17726
17865
  }
17727
17866
 
17728
17867
  module.exports = getActiveElement;
17729
- },{}],146:[function(_dereq_,module,exports){
17868
+ },{}],148:[function(_dereq_,module,exports){
17730
17869
  'use strict';
17731
17870
 
17732
17871
  /**
@@ -17741,9 +17880,9 @@ module.exports = getActiveElement;
17741
17880
 
17742
17881
  /*eslint-disable fb-www/unsafe-html */
17743
17882
 
17744
- var ExecutionEnvironment = _dereq_(136);
17883
+ var ExecutionEnvironment = _dereq_(138);
17745
17884
 
17746
- var invariant = _dereq_(150);
17885
+ var invariant = _dereq_(152);
17747
17886
 
17748
17887
  /**
17749
17888
  * Dummy container used to detect which wraps are necessary.
@@ -17821,7 +17960,7 @@ function getMarkupWrap(nodeName) {
17821
17960
  }
17822
17961
 
17823
17962
  module.exports = getMarkupWrap;
17824
- },{"136":136,"150":150}],147:[function(_dereq_,module,exports){
17963
+ },{"138":138,"152":152}],149:[function(_dereq_,module,exports){
17825
17964
  /**
17826
17965
  * Copyright (c) 2013-present, Facebook, Inc.
17827
17966
  * All rights reserved.
@@ -17860,7 +17999,7 @@ function getUnboundedScrollPosition(scrollable) {
17860
17999
  }
17861
18000
 
17862
18001
  module.exports = getUnboundedScrollPosition;
17863
- },{}],148:[function(_dereq_,module,exports){
18002
+ },{}],150:[function(_dereq_,module,exports){
17864
18003
  'use strict';
17865
18004
 
17866
18005
  /**
@@ -17893,7 +18032,7 @@ function hyphenate(string) {
17893
18032
  }
17894
18033
 
17895
18034
  module.exports = hyphenate;
17896
- },{}],149:[function(_dereq_,module,exports){
18035
+ },{}],151:[function(_dereq_,module,exports){
17897
18036
  /**
17898
18037
  * Copyright (c) 2013-present, Facebook, Inc.
17899
18038
  * All rights reserved.
@@ -17907,7 +18046,7 @@ module.exports = hyphenate;
17907
18046
 
17908
18047
  'use strict';
17909
18048
 
17910
- var hyphenate = _dereq_(148);
18049
+ var hyphenate = _dereq_(150);
17911
18050
 
17912
18051
  var msPattern = /^ms-/;
17913
18052
 
@@ -17932,7 +18071,7 @@ function hyphenateStyleName(string) {
17932
18071
  }
17933
18072
 
17934
18073
  module.exports = hyphenateStyleName;
17935
- },{"148":148}],150:[function(_dereq_,module,exports){
18074
+ },{"150":150}],152:[function(_dereq_,module,exports){
17936
18075
  /**
17937
18076
  * Copyright (c) 2013-present, Facebook, Inc.
17938
18077
  * All rights reserved.
@@ -17988,7 +18127,7 @@ function invariant(condition, format, a, b, c, d, e, f) {
17988
18127
  }
17989
18128
 
17990
18129
  module.exports = invariant;
17991
- },{}],151:[function(_dereq_,module,exports){
18130
+ },{}],153:[function(_dereq_,module,exports){
17992
18131
  'use strict';
17993
18132
 
17994
18133
  /**
@@ -18013,7 +18152,7 @@ function isNode(object) {
18013
18152
  }
18014
18153
 
18015
18154
  module.exports = isNode;
18016
- },{}],152:[function(_dereq_,module,exports){
18155
+ },{}],154:[function(_dereq_,module,exports){
18017
18156
  'use strict';
18018
18157
 
18019
18158
  /**
@@ -18027,7 +18166,7 @@ module.exports = isNode;
18027
18166
  * @typechecks
18028
18167
  */
18029
18168
 
18030
- var isNode = _dereq_(151);
18169
+ var isNode = _dereq_(153);
18031
18170
 
18032
18171
  /**
18033
18172
  * @param {*} object The object to check.
@@ -18038,7 +18177,7 @@ function isTextNode(object) {
18038
18177
  }
18039
18178
 
18040
18179
  module.exports = isTextNode;
18041
- },{"151":151}],153:[function(_dereq_,module,exports){
18180
+ },{"153":153}],155:[function(_dereq_,module,exports){
18042
18181
  /**
18043
18182
  * Copyright (c) 2013-present, Facebook, Inc.
18044
18183
  * All rights reserved.
@@ -18068,7 +18207,7 @@ function memoizeStringOnly(callback) {
18068
18207
  }
18069
18208
 
18070
18209
  module.exports = memoizeStringOnly;
18071
- },{}],154:[function(_dereq_,module,exports){
18210
+ },{}],156:[function(_dereq_,module,exports){
18072
18211
  /**
18073
18212
  * Copyright (c) 2013-present, Facebook, Inc.
18074
18213
  * All rights reserved.
@@ -18082,7 +18221,7 @@ module.exports = memoizeStringOnly;
18082
18221
 
18083
18222
  'use strict';
18084
18223
 
18085
- var ExecutionEnvironment = _dereq_(136);
18224
+ var ExecutionEnvironment = _dereq_(138);
18086
18225
 
18087
18226
  var performance;
18088
18227
 
@@ -18091,7 +18230,7 @@ if (ExecutionEnvironment.canUseDOM) {
18091
18230
  }
18092
18231
 
18093
18232
  module.exports = performance || {};
18094
- },{"136":136}],155:[function(_dereq_,module,exports){
18233
+ },{"138":138}],157:[function(_dereq_,module,exports){
18095
18234
  'use strict';
18096
18235
 
18097
18236
  /**
@@ -18105,7 +18244,7 @@ module.exports = performance || {};
18105
18244
  * @typechecks
18106
18245
  */
18107
18246
 
18108
- var performance = _dereq_(154);
18247
+ var performance = _dereq_(156);
18109
18248
 
18110
18249
  var performanceNow;
18111
18250
 
@@ -18125,7 +18264,7 @@ if (performance.now) {
18125
18264
  }
18126
18265
 
18127
18266
  module.exports = performanceNow;
18128
- },{"154":154}],156:[function(_dereq_,module,exports){
18267
+ },{"156":156}],158:[function(_dereq_,module,exports){
18129
18268
  /**
18130
18269
  * Copyright (c) 2013-present, Facebook, Inc.
18131
18270
  * All rights reserved.
@@ -18193,7 +18332,7 @@ function shallowEqual(objA, objB) {
18193
18332
  }
18194
18333
 
18195
18334
  module.exports = shallowEqual;
18196
- },{}],157:[function(_dereq_,module,exports){
18335
+ },{}],159:[function(_dereq_,module,exports){
18197
18336
  /**
18198
18337
  * Copyright 2014-2015, Facebook, Inc.
18199
18338
  * All rights reserved.
@@ -18206,7 +18345,7 @@ module.exports = shallowEqual;
18206
18345
 
18207
18346
  'use strict';
18208
18347
 
18209
- var emptyFunction = _dereq_(142);
18348
+ var emptyFunction = _dereq_(144);
18210
18349
 
18211
18350
  /**
18212
18351
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -18260,7 +18399,7 @@ if ("development" !== 'production') {
18260
18399
  }
18261
18400
 
18262
18401
  module.exports = warning;
18263
- },{"142":142}],158:[function(_dereq_,module,exports){
18402
+ },{"144":144}],160:[function(_dereq_,module,exports){
18264
18403
  /*
18265
18404
  object-assign
18266
18405
  (c) Sindre Sorhus
@@ -18352,7 +18491,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
18352
18491
  return to;
18353
18492
  };
18354
18493
 
18355
- },{}],159:[function(_dereq_,module,exports){
18494
+ },{}],161:[function(_dereq_,module,exports){
18356
18495
  /**
18357
18496
  * Copyright 2013-present, Facebook, Inc.
18358
18497
  * All rights reserved.
@@ -18364,12 +18503,12 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
18364
18503
 
18365
18504
  'use strict';
18366
18505
 
18367
- var invariant = _dereq_(150);
18368
- var warning = _dereq_(157);
18369
-
18370
- var ReactPropTypesSecret = _dereq_(161);
18371
-
18372
- var loggedTypeFailures = {};
18506
+ if ("development" !== 'production') {
18507
+ var invariant = _dereq_(152);
18508
+ var warning = _dereq_(159);
18509
+ var ReactPropTypesSecret = _dereq_(164);
18510
+ var loggedTypeFailures = {};
18511
+ }
18373
18512
 
18374
18513
  /**
18375
18514
  * Assert that the values match with the type specs.
@@ -18398,7 +18537,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
18398
18537
  } catch (ex) {
18399
18538
  error = ex;
18400
18539
  }
18401
- "development" !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error) : void 0;
18540
+ warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
18402
18541
  if (error instanceof Error && !(error.message in loggedTypeFailures)) {
18403
18542
  // Only monitor this failure once because there tends to be a lot of the
18404
18543
  // same error.
@@ -18406,7 +18545,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
18406
18545
 
18407
18546
  var stack = getStack ? getStack() : '';
18408
18547
 
18409
- "development" !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '') : void 0;
18548
+ warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
18410
18549
  }
18411
18550
  }
18412
18551
  }
@@ -18415,7 +18554,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
18415
18554
 
18416
18555
  module.exports = checkPropTypes;
18417
18556
 
18418
- },{"150":150,"157":157,"161":161}],160:[function(_dereq_,module,exports){
18557
+ },{"152":152,"159":159,"164":164}],162:[function(_dereq_,module,exports){
18419
18558
  /**
18420
18559
  * Copyright 2013-present, Facebook, Inc.
18421
18560
  * All rights reserved.
@@ -18427,14 +18566,37 @@ module.exports = checkPropTypes;
18427
18566
 
18428
18567
  'use strict';
18429
18568
 
18430
- var emptyFunction = _dereq_(142);
18431
- var invariant = _dereq_(150);
18432
- var warning = _dereq_(157);
18569
+ // React 15.5 references this module, and assumes PropTypes are still callable in production.
18570
+ // Therefore we re-export development-only version with all the PropTypes checks here.
18571
+ // However if one is migrating to the `prop-types` npm library, they will go through the
18572
+ // `index.js` entry point, and it will branch depending on the environment.
18573
+ var factory = _dereq_(163);
18574
+ module.exports = function(isValidElement) {
18575
+ // It is still allowed in 15.5.
18576
+ var throwOnDirectAccess = false;
18577
+ return factory(isValidElement, throwOnDirectAccess);
18578
+ };
18579
+
18580
+ },{"163":163}],163:[function(_dereq_,module,exports){
18581
+ /**
18582
+ * Copyright 2013-present, Facebook, Inc.
18583
+ * All rights reserved.
18584
+ *
18585
+ * This source code is licensed under the BSD-style license found in the
18586
+ * LICENSE file in the root directory of this source tree. An additional grant
18587
+ * of patent rights can be found in the PATENTS file in the same directory.
18588
+ */
18589
+
18590
+ 'use strict';
18433
18591
 
18434
- var ReactPropTypesSecret = _dereq_(161);
18435
- var checkPropTypes = _dereq_(159);
18592
+ var emptyFunction = _dereq_(144);
18593
+ var invariant = _dereq_(152);
18594
+ var warning = _dereq_(159);
18436
18595
 
18437
- module.exports = function (isValidElement) {
18596
+ var ReactPropTypesSecret = _dereq_(164);
18597
+ var checkPropTypes = _dereq_(161);
18598
+
18599
+ module.exports = function(isValidElement, throwOnDirectAccess) {
18438
18600
  /* global Symbol */
18439
18601
  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
18440
18602
  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
@@ -18509,58 +18671,27 @@ module.exports = function (isValidElement) {
18509
18671
 
18510
18672
  var ANONYMOUS = '<<anonymous>>';
18511
18673
 
18512
- var ReactPropTypes;
18513
-
18514
- if ("development" !== 'production') {
18515
- // Keep in sync with production version below
18516
- ReactPropTypes = {
18517
- array: createPrimitiveTypeChecker('array'),
18518
- bool: createPrimitiveTypeChecker('boolean'),
18519
- func: createPrimitiveTypeChecker('function'),
18520
- number: createPrimitiveTypeChecker('number'),
18521
- object: createPrimitiveTypeChecker('object'),
18522
- string: createPrimitiveTypeChecker('string'),
18523
- symbol: createPrimitiveTypeChecker('symbol'),
18524
-
18525
- any: createAnyTypeChecker(),
18526
- arrayOf: createArrayOfTypeChecker,
18527
- element: createElementTypeChecker(),
18528
- instanceOf: createInstanceTypeChecker,
18529
- node: createNodeChecker(),
18530
- objectOf: createObjectOfTypeChecker,
18531
- oneOf: createEnumTypeChecker,
18532
- oneOfType: createUnionTypeChecker,
18533
- shape: createShapeTypeChecker
18534
- };
18535
- } else {
18536
- var productionTypeChecker = function () {
18537
- invariant(false, 'React.PropTypes type checking code is stripped in production.');
18538
- };
18539
- productionTypeChecker.isRequired = productionTypeChecker;
18540
- var getProductionTypeChecker = function () {
18541
- return productionTypeChecker;
18542
- };
18543
- // Keep in sync with development version above
18544
- ReactPropTypes = {
18545
- array: productionTypeChecker,
18546
- bool: productionTypeChecker,
18547
- func: productionTypeChecker,
18548
- number: productionTypeChecker,
18549
- object: productionTypeChecker,
18550
- string: productionTypeChecker,
18551
- symbol: productionTypeChecker,
18552
-
18553
- any: productionTypeChecker,
18554
- arrayOf: getProductionTypeChecker,
18555
- element: productionTypeChecker,
18556
- instanceOf: getProductionTypeChecker,
18557
- node: productionTypeChecker,
18558
- objectOf: getProductionTypeChecker,
18559
- oneOf: getProductionTypeChecker,
18560
- oneOfType: getProductionTypeChecker,
18561
- shape: getProductionTypeChecker
18562
- };
18563
- }
18674
+ // Important!
18675
+ // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
18676
+ var ReactPropTypes = {
18677
+ array: createPrimitiveTypeChecker('array'),
18678
+ bool: createPrimitiveTypeChecker('boolean'),
18679
+ func: createPrimitiveTypeChecker('function'),
18680
+ number: createPrimitiveTypeChecker('number'),
18681
+ object: createPrimitiveTypeChecker('object'),
18682
+ string: createPrimitiveTypeChecker('string'),
18683
+ symbol: createPrimitiveTypeChecker('symbol'),
18684
+
18685
+ any: createAnyTypeChecker(),
18686
+ arrayOf: createArrayOfTypeChecker,
18687
+ element: createElementTypeChecker(),
18688
+ instanceOf: createInstanceTypeChecker,
18689
+ node: createNodeChecker(),
18690
+ objectOf: createObjectOfTypeChecker,
18691
+ oneOf: createEnumTypeChecker,
18692
+ oneOfType: createUnionTypeChecker,
18693
+ shape: createShapeTypeChecker
18694
+ };
18564
18695
 
18565
18696
  /**
18566
18697
  * inlined Object.is polyfill to avoid requiring consumers ship their own
@@ -18597,16 +18728,41 @@ module.exports = function (isValidElement) {
18597
18728
  function createChainableTypeChecker(validate) {
18598
18729
  if ("development" !== 'production') {
18599
18730
  var manualPropTypeCallCache = {};
18731
+ var manualPropTypeWarningCount = 0;
18600
18732
  }
18601
18733
  function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
18602
18734
  componentName = componentName || ANONYMOUS;
18603
18735
  propFullName = propFullName || propName;
18604
- if ("development" !== 'production') {
18605
- if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
18736
+
18737
+ if (secret !== ReactPropTypesSecret) {
18738
+ if (throwOnDirectAccess) {
18739
+ // New behavior only for users of `prop-types` package
18740
+ invariant(
18741
+ false,
18742
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
18743
+ 'Use `PropTypes.checkPropTypes()` to call them. ' +
18744
+ 'Read more at http://fb.me/use-check-prop-types'
18745
+ );
18746
+ } else if ("development" !== 'production' && typeof console !== 'undefined') {
18747
+ // Old behavior for people using React.PropTypes
18606
18748
  var cacheKey = componentName + ':' + propName;
18607
- if (!manualPropTypeCallCache[cacheKey]) {
18608
- "development" !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in production with the next major version. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', propFullName, componentName) : void 0;
18749
+ if (
18750
+ !manualPropTypeCallCache[cacheKey] &&
18751
+ // Avoid spamming the console because they are often not actionable except for lib authors
18752
+ manualPropTypeWarningCount < 3
18753
+ ) {
18754
+ warning(
18755
+ false,
18756
+ 'You are manually calling a React.PropTypes validation ' +
18757
+ 'function for the `%s` prop on `%s`. This is deprecated ' +
18758
+ 'and will throw in the standalone `prop-types` package. ' +
18759
+ 'You may be seeing this warning due to a third-party PropTypes ' +
18760
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
18761
+ propFullName,
18762
+ componentName
18763
+ );
18609
18764
  manualPropTypeCallCache[cacheKey] = true;
18765
+ manualPropTypeWarningCount++;
18610
18766
  }
18611
18767
  }
18612
18768
  }
@@ -18744,6 +18900,20 @@ module.exports = function (isValidElement) {
18744
18900
  return emptyFunction.thatReturnsNull;
18745
18901
  }
18746
18902
 
18903
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
18904
+ var checker = arrayOfTypeCheckers[i];
18905
+ if (typeof checker !== 'function') {
18906
+ warning(
18907
+ false,
18908
+ 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +
18909
+ 'received %s at index %s.',
18910
+ getPostfixForTypeWarning(checker),
18911
+ i
18912
+ );
18913
+ return emptyFunction.thatReturnsNull;
18914
+ }
18915
+ }
18916
+
18747
18917
  function validate(props, propName, componentName, location, propFullName) {
18748
18918
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
18749
18919
  var checker = arrayOfTypeCheckers[i];
@@ -18876,6 +19046,9 @@ module.exports = function (isValidElement) {
18876
19046
  // This handles more types than `getPropType`. Only used for error messages.
18877
19047
  // See `createPrimitiveTypeChecker`.
18878
19048
  function getPreciseType(propValue) {
19049
+ if (typeof propValue === 'undefined' || propValue === null) {
19050
+ return '' + propValue;
19051
+ }
18879
19052
  var propType = getPropType(propValue);
18880
19053
  if (propType === 'object') {
18881
19054
  if (propValue instanceof Date) {
@@ -18887,6 +19060,23 @@ module.exports = function (isValidElement) {
18887
19060
  return propType;
18888
19061
  }
18889
19062
 
19063
+ // Returns a string that is postfixed to a warning about an invalid type.
19064
+ // For example, "undefined" or "of type array"
19065
+ function getPostfixForTypeWarning(value) {
19066
+ var type = getPreciseType(value);
19067
+ switch (type) {
19068
+ case 'array':
19069
+ case 'object':
19070
+ return 'an ' + type;
19071
+ case 'boolean':
19072
+ case 'date':
19073
+ case 'regexp':
19074
+ return 'a ' + type;
19075
+ default:
19076
+ return type;
19077
+ }
19078
+ }
19079
+
18890
19080
  // Returns class name of the object, if any.
18891
19081
  function getClassName(propValue) {
18892
19082
  if (!propValue.constructor || !propValue.constructor.name) {
@@ -18901,7 +19091,7 @@ module.exports = function (isValidElement) {
18901
19091
  return ReactPropTypes;
18902
19092
  };
18903
19093
 
18904
- },{"142":142,"150":150,"157":157,"159":159,"161":161}],161:[function(_dereq_,module,exports){
19094
+ },{"144":144,"152":152,"159":159,"161":161,"164":164}],164:[function(_dereq_,module,exports){
18905
19095
  /**
18906
19096
  * Copyright 2013-present, Facebook, Inc.
18907
19097
  * All rights reserved.