react 0.13.0-rc2 → 0.13.3

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * React (with addons) v0.13.0-rc2
2
+ * React (with addons) v0.13.3
3
3
  */
4
4
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
5
5
  /**
@@ -710,7 +710,9 @@ var isUnitlessNumber = {
710
710
  columnCount: true,
711
711
  flex: true,
712
712
  flexGrow: true,
713
+ flexPositive: true,
713
714
  flexShrink: true,
715
+ flexNegative: true,
714
716
  fontWeight: true,
715
717
  lineClamp: true,
716
718
  lineHeight: true,
@@ -723,7 +725,9 @@ var isUnitlessNumber = {
723
725
 
724
726
  // SVG-related properties
725
727
  fillOpacity: true,
726
- strokeOpacity: true
728
+ strokeDashoffset: true,
729
+ strokeOpacity: true,
730
+ strokeWidth: true
727
731
  };
728
732
 
729
733
  /**
@@ -3788,6 +3792,7 @@ var HTMLDOMPropertyConfig = {
3788
3792
  headers: null,
3789
3793
  height: MUST_USE_ATTRIBUTE,
3790
3794
  hidden: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
3795
+ high: null,
3791
3796
  href: null,
3792
3797
  hrefLang: null,
3793
3798
  htmlFor: null,
@@ -3798,6 +3803,7 @@ var HTMLDOMPropertyConfig = {
3798
3803
  lang: null,
3799
3804
  list: MUST_USE_ATTRIBUTE,
3800
3805
  loop: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
3806
+ low: null,
3801
3807
  manifest: MUST_USE_ATTRIBUTE,
3802
3808
  marginHeight: null,
3803
3809
  marginWidth: null,
@@ -3812,6 +3818,7 @@ var HTMLDOMPropertyConfig = {
3812
3818
  name: null,
3813
3819
  noValidate: HAS_BOOLEAN_VALUE,
3814
3820
  open: HAS_BOOLEAN_VALUE,
3821
+ optimum: null,
3815
3822
  pattern: null,
3816
3823
  placeholder: null,
3817
3824
  poster: null,
@@ -3825,6 +3832,7 @@ var HTMLDOMPropertyConfig = {
3825
3832
  rowSpan: null,
3826
3833
  sandbox: null,
3827
3834
  scope: null,
3835
+ scoped: HAS_BOOLEAN_VALUE,
3828
3836
  scrolling: null,
3829
3837
  seamless: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
3830
3838
  selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
@@ -3866,7 +3874,9 @@ var HTMLDOMPropertyConfig = {
3866
3874
  itemID: MUST_USE_ATTRIBUTE,
3867
3875
  itemRef: MUST_USE_ATTRIBUTE,
3868
3876
  // property is supported for OpenGraph in meta tags.
3869
- property: null
3877
+ property: null,
3878
+ // IE-only attribute that controls focus behavior
3879
+ unselectable: MUST_USE_ATTRIBUTE
3870
3880
  },
3871
3881
  DOMAttributeNames: {
3872
3882
  acceptCharset: 'accept-charset',
@@ -4475,7 +4485,7 @@ if ("production" !== "development") {
4475
4485
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
4476
4486
  console.debug(
4477
4487
  'Download the React DevTools for a better development experience: ' +
4478
- 'http://fb.me/react-devtools'
4488
+ 'https://fb.me/react-devtools'
4479
4489
  );
4480
4490
  }
4481
4491
  }
@@ -4502,7 +4512,7 @@ if ("production" !== "development") {
4502
4512
  if (!expectedFeatures[i]) {
4503
4513
  console.error(
4504
4514
  'One or more ES5 shim/shams expected by React are not available: ' +
4505
- 'http://fb.me/react-warning-polyfills'
4515
+ 'https://fb.me/react-warning-polyfills'
4506
4516
  );
4507
4517
  break;
4508
4518
  }
@@ -4510,7 +4520,7 @@ if ("production" !== "development") {
4510
4520
  }
4511
4521
  }
4512
4522
 
4513
- React.version = '0.13.0-rc2';
4523
+ React.version = '0.13.3';
4514
4524
 
4515
4525
  module.exports = React;
4516
4526
 
@@ -6229,7 +6239,7 @@ var ReactClass = {
6229
6239
  ("production" !== "development" ? warning(
6230
6240
  this instanceof Constructor,
6231
6241
  'Something is calling a React component directly. Use a factory or ' +
6232
- 'JSX instead. See: http://fb.me/react-legacyfactory'
6242
+ 'JSX instead. See: https://fb.me/react-legacyfactory'
6233
6243
  ) : null);
6234
6244
  }
6235
6245
 
@@ -6418,7 +6428,7 @@ ReactComponent.prototype.setState = function(partialState, callback) {
6418
6428
  * You may want to call this when you know that some deeper aspect of the
6419
6429
  * component's state has changed but `setState` was not called.
6420
6430
  *
6421
- * This will not invoke `shouldUpdateComponent`, but it will invoke
6431
+ * This will not invoke `shouldComponentUpdate`, but it will invoke
6422
6432
  * `componentWillUpdate` and `componentDidUpdate`.
6423
6433
  *
6424
6434
  * @param {?function} callback Called after update is complete.
@@ -6439,19 +6449,38 @@ ReactComponent.prototype.forceUpdate = function(callback) {
6439
6449
  */
6440
6450
  if ("production" !== "development") {
6441
6451
  var deprecatedAPIs = {
6442
- getDOMNode: 'getDOMNode',
6443
- isMounted: 'isMounted',
6444
- replaceState: 'replaceState',
6445
- setProps: 'setProps'
6452
+ getDOMNode: [
6453
+ 'getDOMNode',
6454
+ 'Use React.findDOMNode(component) instead.'
6455
+ ],
6456
+ isMounted: [
6457
+ 'isMounted',
6458
+ 'Instead, make sure to clean up subscriptions and pending requests in ' +
6459
+ 'componentWillUnmount to prevent memory leaks.'
6460
+ ],
6461
+ replaceProps: [
6462
+ 'replaceProps',
6463
+ 'Instead call React.render again at the top level.'
6464
+ ],
6465
+ replaceState: [
6466
+ 'replaceState',
6467
+ 'Refactor your code to use setState instead (see ' +
6468
+ 'https://github.com/facebook/react/issues/3236).'
6469
+ ],
6470
+ setProps: [
6471
+ 'setProps',
6472
+ 'Instead call React.render again at the top level.'
6473
+ ]
6446
6474
  };
6447
- var defineDeprecationWarning = function(methodName, displayName) {
6475
+ var defineDeprecationWarning = function(methodName, info) {
6448
6476
  try {
6449
6477
  Object.defineProperty(ReactComponent.prototype, methodName, {
6450
6478
  get: function() {
6451
6479
  ("production" !== "development" ? warning(
6452
6480
  false,
6453
- '%s(...) is deprecated in plain JavaScript React classes.',
6454
- displayName
6481
+ '%s(...) is deprecated in plain JavaScript React classes. %s',
6482
+ info[0],
6483
+ info[1]
6455
6484
  ) : null);
6456
6485
  return undefined;
6457
6486
  }
@@ -6760,6 +6789,20 @@ var ReactCompositeComponentMixin = {
6760
6789
 
6761
6790
  // Initialize the public class
6762
6791
  var inst = new Component(publicProps, publicContext);
6792
+
6793
+ if ("production" !== "development") {
6794
+ // This will throw later in _renderValidatedComponent, but add an early
6795
+ // warning now to help debugging
6796
+ ("production" !== "development" ? warning(
6797
+ inst.render != null,
6798
+ '%s(...): No `render` method found on the returned component ' +
6799
+ 'instance: you may have forgotten to define `render` in your ' +
6800
+ 'component or you may have accidentally tried to render an element ' +
6801
+ 'whose type is a function that isn\'t a React component.',
6802
+ Component.displayName || Component.name || 'Component'
6803
+ ) : null);
6804
+ }
6805
+
6763
6806
  // These should be set up in the constructor, but as a convenience for
6764
6807
  // simpler class abstractions, we set them up after the fact.
6765
6808
  inst.props = publicProps;
@@ -6787,6 +6830,14 @@ var ReactCompositeComponentMixin = {
6787
6830
  'Did you mean to define a state property instead?',
6788
6831
  this.getName() || 'a component'
6789
6832
  ) : null);
6833
+ ("production" !== "development" ? warning(
6834
+ !inst.getDefaultProps ||
6835
+ inst.getDefaultProps.isReactClassApproved,
6836
+ 'getDefaultProps was defined on %s, a plain JavaScript class. ' +
6837
+ 'This is only supported for classes created using React.createClass. ' +
6838
+ 'Use a static property to define defaultProps instead.',
6839
+ this.getName() || 'a component'
6840
+ ) : null);
6790
6841
  ("production" !== "development" ? warning(
6791
6842
  !inst.propTypes,
6792
6843
  'propTypes was defined as an instance property on %s. Use a static ' +
@@ -6823,6 +6874,7 @@ var ReactCompositeComponentMixin = {
6823
6874
  this._pendingReplaceState = false;
6824
6875
  this._pendingForceUpdate = false;
6825
6876
 
6877
+ var childContext;
6826
6878
  var renderedElement;
6827
6879
 
6828
6880
  var previouslyMounting = ReactLifeCycle.currentlyMountingInstance;
@@ -6837,7 +6889,8 @@ var ReactCompositeComponentMixin = {
6837
6889
  }
6838
6890
  }
6839
6891
 
6840
- renderedElement = this._renderValidatedComponent();
6892
+ childContext = this._getValidatedChildContext(context);
6893
+ renderedElement = this._renderValidatedComponent(childContext);
6841
6894
  } finally {
6842
6895
  ReactLifeCycle.currentlyMountingInstance = previouslyMounting;
6843
6896
  }
@@ -6851,7 +6904,7 @@ var ReactCompositeComponentMixin = {
6851
6904
  this._renderedComponent,
6852
6905
  rootID,
6853
6906
  transaction,
6854
- this._processChildContext(context)
6907
+ this._mergeChildContext(context, childContext)
6855
6908
  );
6856
6909
  if (inst.componentDidMount) {
6857
6910
  transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);
@@ -6981,7 +7034,7 @@ var ReactCompositeComponentMixin = {
6981
7034
  * @return {object}
6982
7035
  * @private
6983
7036
  */
6984
- _processChildContext: function(currentContext) {
7037
+ _getValidatedChildContext: function(currentContext) {
6985
7038
  var inst = this._instance;
6986
7039
  var childContext = inst.getChildContext && inst.getChildContext();
6987
7040
  if (childContext) {
@@ -7006,6 +7059,13 @@ var ReactCompositeComponentMixin = {
7006
7059
  name
7007
7060
  ) : invariant(name in inst.constructor.childContextTypes));
7008
7061
  }
7062
+ return childContext;
7063
+ }
7064
+ return null;
7065
+ },
7066
+
7067
+ _mergeChildContext: function(currentContext, childContext) {
7068
+ if (childContext) {
7009
7069
  return assign({}, currentContext, childContext);
7010
7070
  }
7011
7071
  return currentContext;
@@ -7265,6 +7325,10 @@ var ReactCompositeComponentMixin = {
7265
7325
  return inst.state;
7266
7326
  }
7267
7327
 
7328
+ if (replace && queue.length === 1) {
7329
+ return queue[0];
7330
+ }
7331
+
7268
7332
  var nextState = assign({}, replace ? queue[0] : inst.state);
7269
7333
  for (var i = replace ? 1 : 0; i < queue.length; i++) {
7270
7334
  var partial = queue[i];
@@ -7334,13 +7398,14 @@ var ReactCompositeComponentMixin = {
7334
7398
  _updateRenderedComponent: function(transaction, context) {
7335
7399
  var prevComponentInstance = this._renderedComponent;
7336
7400
  var prevRenderedElement = prevComponentInstance._currentElement;
7337
- var nextRenderedElement = this._renderValidatedComponent();
7401
+ var childContext = this._getValidatedChildContext();
7402
+ var nextRenderedElement = this._renderValidatedComponent(childContext);
7338
7403
  if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {
7339
7404
  ReactReconciler.receiveComponent(
7340
7405
  prevComponentInstance,
7341
7406
  nextRenderedElement,
7342
7407
  transaction,
7343
- this._processChildContext(context)
7408
+ this._mergeChildContext(context, childContext)
7344
7409
  );
7345
7410
  } else {
7346
7411
  // These two IDs are actually the same! But nothing should rely on that.
@@ -7356,7 +7421,7 @@ var ReactCompositeComponentMixin = {
7356
7421
  this._renderedComponent,
7357
7422
  thisID,
7358
7423
  transaction,
7359
- context
7424
+ this._mergeChildContext(context, childContext)
7360
7425
  );
7361
7426
  this._replaceNodeWithMarkupByID(prevComponentID, nextMarkup);
7362
7427
  }
@@ -7394,11 +7459,12 @@ var ReactCompositeComponentMixin = {
7394
7459
  /**
7395
7460
  * @private
7396
7461
  */
7397
- _renderValidatedComponent: function() {
7462
+ _renderValidatedComponent: function(childContext) {
7398
7463
  var renderedComponent;
7399
7464
  var previousContext = ReactContext.current;
7400
- ReactContext.current = this._processChildContext(
7401
- this._currentElement._context
7465
+ ReactContext.current = this._mergeChildContext(
7466
+ this._currentElement._context,
7467
+ childContext
7402
7468
  );
7403
7469
  ReactCurrentOwner.current = this;
7404
7470
  try {
@@ -7763,6 +7829,7 @@ var ReactDOM = mapObject({
7763
7829
 
7764
7830
  // SVG
7765
7831
  circle: 'circle',
7832
+ clipPath: 'clipPath',
7766
7833
  defs: 'defs',
7767
7834
  ellipse: 'ellipse',
7768
7835
  g: 'g',
@@ -7912,11 +7979,13 @@ function assertValidProps(props) {
7912
7979
  'Can only set one of `children` or `props.dangerouslySetInnerHTML`.'
7913
7980
  ) : invariant(props.children == null));
7914
7981
  ("production" !== "development" ? invariant(
7915
- props.dangerouslySetInnerHTML.__html != null,
7982
+ typeof props.dangerouslySetInnerHTML === 'object' &&
7983
+ '__html' in props.dangerouslySetInnerHTML,
7916
7984
  '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' +
7917
- 'Please visit http://fb.me/react-invariant-dangerously-set-inner-html ' +
7985
+ 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' +
7918
7986
  'for more information.'
7919
- ) : invariant(props.dangerouslySetInnerHTML.__html != null));
7987
+ ) : invariant(typeof props.dangerouslySetInnerHTML === 'object' &&
7988
+ '__html' in props.dangerouslySetInnerHTML));
7920
7989
  }
7921
7990
  if ("production" !== "development") {
7922
7991
  ("production" !== "development" ? warning(
@@ -8201,6 +8270,7 @@ ReactDOMComponent.Mixin = {
8201
8270
  styleUpdates[styleName] = '';
8202
8271
  }
8203
8272
  }
8273
+ this._previousStyleCopy = null;
8204
8274
  } else if (registrationNameModules.hasOwnProperty(propKey)) {
8205
8275
  deleteListener(this._rootNodeID, propKey);
8206
8276
  } else if (
@@ -8223,6 +8293,8 @@ ReactDOMComponent.Mixin = {
8223
8293
  if (propKey === STYLE) {
8224
8294
  if (nextProp) {
8225
8295
  nextProp = this._previousStyleCopy = assign({}, nextProp);
8296
+ } else {
8297
+ this._previousStyleCopy = null;
8226
8298
  }
8227
8299
  if (lastProp) {
8228
8300
  // Unset styles on `lastProp` but not on `nextProp`.
@@ -8973,7 +9045,9 @@ function updateOptions(component, propValue) {
8973
9045
  return;
8974
9046
  }
8975
9047
  }
8976
- options[0].selected = true;
9048
+ if (options.length) {
9049
+ options[0].selected = true;
9050
+ }
8977
9051
  }
8978
9052
  }
8979
9053
 
@@ -9922,8 +9996,8 @@ var ReactDefaultPerf = {
9922
9996
  ReactDefaultPerf._allMeasurements.length - 1
9923
9997
  ].totalTime = performanceNow() - start;
9924
9998
  return rv;
9925
- } else if (moduleName === 'ReactDOMIDOperations' ||
9926
- moduleName === 'ReactComponentBrowserEnvironment') {
9999
+ } else if (fnName === '_mountImageIntoNode' ||
10000
+ moduleName === 'ReactDOMIDOperations') {
9927
10001
  start = performanceNow();
9928
10002
  rv = func.apply(this, args);
9929
10003
  totalTime = performanceNow() - start;
@@ -9969,6 +10043,10 @@ var ReactDefaultPerf = {
9969
10043
  (fnName === 'mountComponent' ||
9970
10044
  fnName === 'updateComponent' || fnName === '_renderValidatedComponent')))) {
9971
10045
 
10046
+ if (typeof this._currentElement.type === 'string') {
10047
+ return func.apply(this, args);
10048
+ }
10049
+
9972
10050
  var rootNodeID = fnName === 'mountComponent' ?
9973
10051
  args[0] :
9974
10052
  this._rootNodeID;
@@ -10001,17 +10079,10 @@ var ReactDefaultPerf = {
10001
10079
  addValue(entry.inclusive, rootNodeID, totalTime);
10002
10080
  }
10003
10081
 
10004
- var displayName = null;
10005
- if (this._instance.constructor.displayName) {
10006
- displayName = this._instance.constructor.displayName;
10007
- } else if (this._currentElement.type) {
10008
- displayName = this._currentElement.type;
10009
- }
10010
-
10011
10082
  entry.displayNames[rootNodeID] = {
10012
- current: displayName,
10083
+ current: this.getName(),
10013
10084
  owner: this._currentElement._owner ?
10014
- this._currentElement._owner._instance.constructor.displayName :
10085
+ this._currentElement._owner.getName() :
10015
10086
  '<root>'
10016
10087
  };
10017
10088
 
@@ -10706,7 +10777,7 @@ function warnAndMonitorForKeyUse(message, element, parentType) {
10706
10777
 
10707
10778
  ("production" !== "development" ? warning(
10708
10779
  false,
10709
- message + '%s%s See http://fb.me/react-warning-keys for more information.',
10780
+ message + '%s%s See https://fb.me/react-warning-keys for more information.',
10710
10781
  parentOrOwnerAddendum,
10711
10782
  childOwnerAddendum
10712
10783
  ) : null);
@@ -10830,9 +10901,9 @@ function warnForPropsMutation(propName, element) {
10830
10901
 
10831
10902
  ("production" !== "development" ? warning(
10832
10903
  false,
10833
- 'Don\'t set .props.%s of the React component%s. ' +
10834
- 'Instead, specify the correct value when ' +
10835
- 'initially creating the element.%s',
10904
+ 'Don\'t set .props.%s of the React component%s. Instead, specify the ' +
10905
+ 'correct value when initially creating the element or use ' +
10906
+ 'React.cloneElement to make a new element with updated props.%s',
10836
10907
  propName,
10837
10908
  elementInfo,
10838
10909
  ownerInfo
@@ -14383,6 +14454,7 @@ function isNode(propValue) {
14383
14454
  switch (typeof propValue) {
14384
14455
  case 'number':
14385
14456
  case 'string':
14457
+ case 'undefined':
14386
14458
  return true;
14387
14459
  case 'boolean':
14388
14460
  return !propValue;
@@ -14390,7 +14462,7 @@ function isNode(propValue) {
14390
14462
  if (Array.isArray(propValue)) {
14391
14463
  return propValue.every(isNode);
14392
14464
  }
14393
- if (ReactElement.isValidElement(propValue)) {
14465
+ if (propValue === null || ReactElement.isValidElement(propValue)) {
14394
14466
  return true;
14395
14467
  }
14396
14468
  propValue = ReactFragment.extractIfFragment(propValue);
@@ -15220,6 +15292,7 @@ var ReactUpdates = _dereq_(100);
15220
15292
  var SyntheticEvent = _dereq_(108);
15221
15293
 
15222
15294
  var assign = _dereq_(29);
15295
+ var emptyObject = _dereq_(130);
15223
15296
 
15224
15297
  var topLevelTypes = EventConstants.topLevelTypes;
15225
15298
 
@@ -15259,7 +15332,7 @@ var ReactTestUtils = {
15259
15332
  isDOMComponent: function(inst) {
15260
15333
  // TODO: Fix this heuristic. It's just here because composites can currently
15261
15334
  // pretend to be DOM components.
15262
- return !!(inst && inst.getDOMNode && inst.tagName);
15335
+ return !!(inst && inst.tagName && inst.getDOMNode);
15263
15336
  },
15264
15337
 
15265
15338
  isDOMComponentElement: function(inst) {
@@ -15561,6 +15634,9 @@ assign(
15561
15634
  );
15562
15635
 
15563
15636
  ReactShallowRenderer.prototype.render = function(element, context) {
15637
+ if (!context) {
15638
+ context = emptyObject;
15639
+ }
15564
15640
  var transaction = ReactUpdates.ReactReconcileTransaction.getPooled();
15565
15641
  this._render(element, transaction, context);
15566
15642
  ReactUpdates.ReactReconcileTransaction.release(transaction);
@@ -15701,7 +15777,7 @@ for (eventType in topLevelTypes) {
15701
15777
 
15702
15778
  module.exports = ReactTestUtils;
15703
15779
 
15704
- },{"100":100,"108":108,"16":16,"18":18,"21":21,"29":29,"31":31,"33":33,"43":43,"63":63,"65":65,"72":72,"73":73,"77":77}],96:[function(_dereq_,module,exports){
15780
+ },{"100":100,"108":108,"130":130,"16":16,"18":18,"21":21,"29":29,"31":31,"33":33,"43":43,"63":63,"65":65,"72":72,"73":73,"77":77}],96:[function(_dereq_,module,exports){
15705
15781
  /**
15706
15782
  * Copyright 2013-2015, Facebook, Inc.
15707
15783
  * All rights reserved.
@@ -16746,6 +16822,7 @@ var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;
16746
16822
 
16747
16823
  var SVGDOMPropertyConfig = {
16748
16824
  Properties: {
16825
+ clipPath: MUST_USE_ATTRIBUTE,
16749
16826
  cx: MUST_USE_ATTRIBUTE,
16750
16827
  cy: MUST_USE_ATTRIBUTE,
16751
16828
  d: MUST_USE_ATTRIBUTE,
@@ -16791,6 +16868,7 @@ var SVGDOMPropertyConfig = {
16791
16868
  y: MUST_USE_ATTRIBUTE
16792
16869
  },
16793
16870
  DOMAttributeNames: {
16871
+ clipPath: 'clip-path',
16794
16872
  fillOpacity: 'fill-opacity',
16795
16873
  fontFamily: 'font-family',
16796
16874
  fontSize: 'font-size',
@@ -18850,6 +18928,7 @@ function createFullPageComponent(tag) {
18850
18928
  var elementFactory = ReactElement.createFactory(tag);
18851
18929
 
18852
18930
  var FullPageComponent = ReactClass.createClass({
18931
+ tagName: tag.toUpperCase(),
18853
18932
  displayName: 'ReactFullPageComponent' + tag,
18854
18933
 
18855
18934
  componentWillUnmount: function() {
@@ -19696,6 +19775,7 @@ var shouldWrap = {
19696
19775
  // Force wrapping for SVG elements because if they get created inside a <div>,
19697
19776
  // they will be initialized in the wrong namespace (and will not display).
19698
19777
  'circle': true,
19778
+ 'clipPath': true,
19699
19779
  'defs': true,
19700
19780
  'ellipse': true,
19701
19781
  'g': true,
@@ -19738,6 +19818,7 @@ var markupWrap = {
19738
19818
  'th': trWrap,
19739
19819
 
19740
19820
  'circle': svgWrap,
19821
+ 'clipPath': svgWrap,
19741
19822
  'defs': svgWrap,
19742
19823
  'ellipse': svgWrap,
19743
19824
  'g': svgWrap,
@@ -20083,6 +20164,7 @@ assign(
20083
20164
  function isInternalComponentType(type) {
20084
20165
  return (
20085
20166
  typeof type === 'function' &&
20167
+ typeof type.prototype !== 'undefined' &&
20086
20168
  typeof type.prototype.mountComponent === 'function' &&
20087
20169
  typeof type.prototype.receiveComponent === 'function'
20088
20170
  );
@@ -21338,11 +21420,14 @@ module.exports = traverseAllChildren;
21338
21420
  * @providesModule update
21339
21421
  */
21340
21422
 
21423
+ /* global hasOwnProperty:true */
21424
+
21341
21425
  'use strict';
21342
21426
 
21343
21427
  var assign = _dereq_(29);
21344
21428
  var keyOf = _dereq_(157);
21345
21429
  var invariant = _dereq_(150);
21430
+ var hasOwnProperty = {}.hasOwnProperty;
21346
21431
 
21347
21432
  function shallowCopy(x) {
21348
21433
  if (Array.isArray(x)) {
@@ -21402,7 +21487,7 @@ function update(value, spec) {
21402
21487
  COMMAND_SET
21403
21488
  ) : invariant(typeof spec === 'object'));
21404
21489
 
21405
- if (spec.hasOwnProperty(COMMAND_SET)) {
21490
+ if (hasOwnProperty.call(spec, COMMAND_SET)) {
21406
21491
  ("production" !== "development" ? invariant(
21407
21492
  Object.keys(spec).length === 1,
21408
21493
  'Cannot have more than one key in an object with %s',
@@ -21414,7 +21499,7 @@ function update(value, spec) {
21414
21499
 
21415
21500
  var nextValue = shallowCopy(value);
21416
21501
 
21417
- if (spec.hasOwnProperty(COMMAND_MERGE)) {
21502
+ if (hasOwnProperty.call(spec, COMMAND_MERGE)) {
21418
21503
  var mergeObj = spec[COMMAND_MERGE];
21419
21504
  ("production" !== "development" ? invariant(
21420
21505
  mergeObj && typeof mergeObj === 'object',
@@ -21431,21 +21516,21 @@ function update(value, spec) {
21431
21516
  assign(nextValue, spec[COMMAND_MERGE]);
21432
21517
  }
21433
21518
 
21434
- if (spec.hasOwnProperty(COMMAND_PUSH)) {
21519
+ if (hasOwnProperty.call(spec, COMMAND_PUSH)) {
21435
21520
  invariantArrayCase(value, spec, COMMAND_PUSH);
21436
21521
  spec[COMMAND_PUSH].forEach(function(item) {
21437
21522
  nextValue.push(item);
21438
21523
  });
21439
21524
  }
21440
21525
 
21441
- if (spec.hasOwnProperty(COMMAND_UNSHIFT)) {
21526
+ if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {
21442
21527
  invariantArrayCase(value, spec, COMMAND_UNSHIFT);
21443
21528
  spec[COMMAND_UNSHIFT].forEach(function(item) {
21444
21529
  nextValue.unshift(item);
21445
21530
  });
21446
21531
  }
21447
21532
 
21448
- if (spec.hasOwnProperty(COMMAND_SPLICE)) {
21533
+ if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {
21449
21534
  ("production" !== "development" ? invariant(
21450
21535
  Array.isArray(value),
21451
21536
  'Expected %s target to be an array; got %s',
@@ -21471,7 +21556,7 @@ function update(value, spec) {
21471
21556
  });
21472
21557
  }
21473
21558
 
21474
- if (spec.hasOwnProperty(COMMAND_APPLY)) {
21559
+ if (hasOwnProperty.call(spec, COMMAND_APPLY)) {
21475
21560
  ("production" !== "development" ? invariant(
21476
21561
  typeof spec[COMMAND_APPLY] === 'function',
21477
21562
  'update(): expected spec of %s to be a function; got %s.',