Skip to content

Commit abb205b

Browse files
committedJul 13, 2015
Update changelog and React
1 parent bde2781 commit abb205b

File tree

2 files changed

+103
-32
lines changed

2 files changed

+103
-32
lines changed
 

‎CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
# 0.10 (2015-07-13)
2+
3+
Features:
4+
5+
- Components now can be namespaced
6+
7+
Updates:
8+
9+
- Update React from 0.13.1 to 0.13.3
10+
111
# 0.9.1 (2015-06-11)
212

313
Fixes:

‎assets/react.js

+93-32
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* React v0.13.1
2+
* React v0.13.3
33
*/
44
(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){
55
/**
@@ -112,7 +112,7 @@ if ("production" !== "development") {
112112
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
113113
console.debug(
114114
'Download the React DevTools for a better development experience: ' +
115-
'http://fb.me/react-devtools'
115+
'https://fb.me/react-devtools'
116116
);
117117
}
118118
}
@@ -139,15 +139,15 @@ if ("production" !== "development") {
139139
if (!expectedFeatures[i]) {
140140
console.error(
141141
'One or more ES5 shim/shams expected by React are not available: ' +
142-
'http://fb.me/react-warning-polyfills'
142+
'https://fb.me/react-warning-polyfills'
143143
);
144144
break;
145145
}
146146
}
147147
}
148148
}
149149

150-
React.version = '0.13.1';
150+
React.version = '0.13.3';
151151

152152
module.exports = React;
153153

@@ -696,7 +696,9 @@ var isUnitlessNumber = {
696696
columnCount: true,
697697
flex: true,
698698
flexGrow: true,
699+
flexPositive: true,
699700
flexShrink: true,
701+
flexNegative: true,
700702
fontWeight: true,
701703
lineClamp: true,
702704
lineHeight: true,
@@ -709,7 +711,9 @@ var isUnitlessNumber = {
709711

710712
// SVG-related properties
711713
fillOpacity: true,
712-
strokeOpacity: true
714+
strokeDashoffset: true,
715+
strokeOpacity: true,
716+
strokeWidth: true
713717
};
714718

715719
/**
@@ -3774,6 +3778,7 @@ var HTMLDOMPropertyConfig = {
37743778
headers: null,
37753779
height: MUST_USE_ATTRIBUTE,
37763780
hidden: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
3781+
high: null,
37773782
href: null,
37783783
hrefLang: null,
37793784
htmlFor: null,
@@ -3784,6 +3789,7 @@ var HTMLDOMPropertyConfig = {
37843789
lang: null,
37853790
list: MUST_USE_ATTRIBUTE,
37863791
loop: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
3792+
low: null,
37873793
manifest: MUST_USE_ATTRIBUTE,
37883794
marginHeight: null,
37893795
marginWidth: null,
@@ -3798,6 +3804,7 @@ var HTMLDOMPropertyConfig = {
37983804
name: null,
37993805
noValidate: HAS_BOOLEAN_VALUE,
38003806
open: HAS_BOOLEAN_VALUE,
3807+
optimum: null,
38013808
pattern: null,
38023809
placeholder: null,
38033810
poster: null,
@@ -3811,6 +3818,7 @@ var HTMLDOMPropertyConfig = {
38113818
rowSpan: null,
38123819
sandbox: null,
38133820
scope: null,
3821+
scoped: HAS_BOOLEAN_VALUE,
38143822
scrolling: null,
38153823
seamless: MUST_USE_ATTRIBUTE | HAS_BOOLEAN_VALUE,
38163824
selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
@@ -3852,7 +3860,9 @@ var HTMLDOMPropertyConfig = {
38523860
itemID: MUST_USE_ATTRIBUTE,
38533861
itemRef: MUST_USE_ATTRIBUTE,
38543862
// property is supported for OpenGraph in meta tags.
3855-
property: null
3863+
property: null,
3864+
// IE-only attribute that controls focus behavior
3865+
unselectable: MUST_USE_ATTRIBUTE
38563866
},
38573867
DOMAttributeNames: {
38583868
acceptCharset: 'accept-charset',
@@ -5808,7 +5818,7 @@ var ReactClass = {
58085818
("production" !== "development" ? warning(
58095819
this instanceof Constructor,
58105820
'Something is calling a React component directly. Use a factory or ' +
5811-
'JSX instead. See: http://fb.me/react-legacyfactory'
5821+
'JSX instead. See: https://fb.me/react-legacyfactory'
58125822
) : null);
58135823
}
58145824

@@ -6018,20 +6028,38 @@ ReactComponent.prototype.forceUpdate = function(callback) {
60186028
*/
60196029
if ("production" !== "development") {
60206030
var deprecatedAPIs = {
6021-
getDOMNode: 'getDOMNode',
6022-
isMounted: 'isMounted',
6023-
replaceProps: 'replaceProps',
6024-
replaceState: 'replaceState',
6025-
setProps: 'setProps'
6031+
getDOMNode: [
6032+
'getDOMNode',
6033+
'Use React.findDOMNode(component) instead.'
6034+
],
6035+
isMounted: [
6036+
'isMounted',
6037+
'Instead, make sure to clean up subscriptions and pending requests in ' +
6038+
'componentWillUnmount to prevent memory leaks.'
6039+
],
6040+
replaceProps: [
6041+
'replaceProps',
6042+
'Instead call React.render again at the top level.'
6043+
],
6044+
replaceState: [
6045+
'replaceState',
6046+
'Refactor your code to use setState instead (see ' +
6047+
'https://github.com/facebook/react/issues/3236).'
6048+
],
6049+
setProps: [
6050+
'setProps',
6051+
'Instead call React.render again at the top level.'
6052+
]
60266053
};
6027-
var defineDeprecationWarning = function(methodName, displayName) {
6054+
var defineDeprecationWarning = function(methodName, info) {
60286055
try {
60296056
Object.defineProperty(ReactComponent.prototype, methodName, {
60306057
get: function() {
60316058
("production" !== "development" ? warning(
60326059
false,
6033-
'%s(...) is deprecated in plain JavaScript React classes.',
6034-
displayName
6060+
'%s(...) is deprecated in plain JavaScript React classes. %s',
6061+
info[0],
6062+
info[1]
60356063
) : null);
60366064
return undefined;
60376065
}
@@ -6332,6 +6360,14 @@ var ReactCompositeComponentMixin = {
63326360
'Did you mean to define a state property instead?',
63336361
this.getName() || 'a component'
63346362
) : null);
6363+
("production" !== "development" ? warning(
6364+
!inst.getDefaultProps ||
6365+
inst.getDefaultProps.isReactClassApproved,
6366+
'getDefaultProps was defined on %s, a plain JavaScript class. ' +
6367+
'This is only supported for classes created using React.createClass. ' +
6368+
'Use a static property to define defaultProps instead.',
6369+
this.getName() || 'a component'
6370+
) : null);
63356371
("production" !== "development" ? warning(
63366372
!inst.propTypes,
63376373
'propTypes was defined as an instance property on %s. Use a static ' +
@@ -6368,6 +6404,7 @@ var ReactCompositeComponentMixin = {
63686404
this._pendingReplaceState = false;
63696405
this._pendingForceUpdate = false;
63706406

6407+
var childContext;
63716408
var renderedElement;
63726409

63736410
var previouslyMounting = ReactLifeCycle.currentlyMountingInstance;
@@ -6382,7 +6419,8 @@ var ReactCompositeComponentMixin = {
63826419
}
63836420
}
63846421

6385-
renderedElement = this._renderValidatedComponent();
6422+
childContext = this._getValidatedChildContext(context);
6423+
renderedElement = this._renderValidatedComponent(childContext);
63866424
} finally {
63876425
ReactLifeCycle.currentlyMountingInstance = previouslyMounting;
63886426
}
@@ -6396,7 +6434,7 @@ var ReactCompositeComponentMixin = {
63966434
this._renderedComponent,
63976435
rootID,
63986436
transaction,
6399-
this._processChildContext(context)
6437+
this._mergeChildContext(context, childContext)
64006438
);
64016439
if (inst.componentDidMount) {
64026440
transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);
@@ -6526,7 +6564,7 @@ var ReactCompositeComponentMixin = {
65266564
* @return {object}
65276565
* @private
65286566
*/
6529-
_processChildContext: function(currentContext) {
6567+
_getValidatedChildContext: function(currentContext) {
65306568
var inst = this._instance;
65316569
var childContext = inst.getChildContext && inst.getChildContext();
65326570
if (childContext) {
@@ -6551,6 +6589,13 @@ var ReactCompositeComponentMixin = {
65516589
name
65526590
) : invariant(name in inst.constructor.childContextTypes));
65536591
}
6592+
return childContext;
6593+
}
6594+
return null;
6595+
},
6596+
6597+
_mergeChildContext: function(currentContext, childContext) {
6598+
if (childContext) {
65546599
return assign({}, currentContext, childContext);
65556600
}
65566601
return currentContext;
@@ -6810,6 +6855,10 @@ var ReactCompositeComponentMixin = {
68106855
return inst.state;
68116856
}
68126857

6858+
if (replace && queue.length === 1) {
6859+
return queue[0];
6860+
}
6861+
68136862
var nextState = assign({}, replace ? queue[0] : inst.state);
68146863
for (var i = replace ? 1 : 0; i < queue.length; i++) {
68156864
var partial = queue[i];
@@ -6879,13 +6928,14 @@ var ReactCompositeComponentMixin = {
68796928
_updateRenderedComponent: function(transaction, context) {
68806929
var prevComponentInstance = this._renderedComponent;
68816930
var prevRenderedElement = prevComponentInstance._currentElement;
6882-
var nextRenderedElement = this._renderValidatedComponent();
6931+
var childContext = this._getValidatedChildContext();
6932+
var nextRenderedElement = this._renderValidatedComponent(childContext);
68836933
if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {
68846934
ReactReconciler.receiveComponent(
68856935
prevComponentInstance,
68866936
nextRenderedElement,
68876937
transaction,
6888-
this._processChildContext(context)
6938+
this._mergeChildContext(context, childContext)
68896939
);
68906940
} else {
68916941
// These two IDs are actually the same! But nothing should rely on that.
@@ -6901,7 +6951,7 @@ var ReactCompositeComponentMixin = {
69016951
this._renderedComponent,
69026952
thisID,
69036953
transaction,
6904-
context
6954+
this._mergeChildContext(context, childContext)
69056955
);
69066956
this._replaceNodeWithMarkupByID(prevComponentID, nextMarkup);
69076957
}
@@ -6939,11 +6989,12 @@ var ReactCompositeComponentMixin = {
69396989
/**
69406990
* @private
69416991
*/
6942-
_renderValidatedComponent: function() {
6992+
_renderValidatedComponent: function(childContext) {
69436993
var renderedComponent;
69446994
var previousContext = ReactContext.current;
6945-
ReactContext.current = this._processChildContext(
6946-
this._currentElement._context
6995+
ReactContext.current = this._mergeChildContext(
6996+
this._currentElement._context,
6997+
childContext
69476998
);
69486999
ReactCurrentOwner.current = this;
69497000
try {
@@ -7308,6 +7359,7 @@ var ReactDOM = mapObject({
73087359

73097360
// SVG
73107361
circle: 'circle',
7362+
clipPath: 'clipPath',
73117363
defs: 'defs',
73127364
ellipse: 'ellipse',
73137365
g: 'g',
@@ -7457,11 +7509,13 @@ function assertValidProps(props) {
74577509
'Can only set one of `children` or `props.dangerouslySetInnerHTML`.'
74587510
) : invariant(props.children == null));
74597511
("production" !== "development" ? invariant(
7460-
props.dangerouslySetInnerHTML.__html != null,
7512+
typeof props.dangerouslySetInnerHTML === 'object' &&
7513+
'__html' in props.dangerouslySetInnerHTML,
74617514
'`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' +
7462-
'Please visit http://fb.me/react-invariant-dangerously-set-inner-html ' +
7515+
'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' +
74637516
'for more information.'
7464-
) : invariant(props.dangerouslySetInnerHTML.__html != null));
7517+
) : invariant(typeof props.dangerouslySetInnerHTML === 'object' &&
7518+
'__html' in props.dangerouslySetInnerHTML));
74657519
}
74667520
if ("production" !== "development") {
74677521
("production" !== "development" ? warning(
@@ -7769,6 +7823,8 @@ ReactDOMComponent.Mixin = {
77697823
if (propKey === STYLE) {
77707824
if (nextProp) {
77717825
nextProp = this._previousStyleCopy = assign({}, nextProp);
7826+
} else {
7827+
this._previousStyleCopy = null;
77727828
}
77737829
if (lastProp) {
77747830
// Unset styles on `lastProp` but not on `nextProp`.
@@ -10251,7 +10307,7 @@ function warnAndMonitorForKeyUse(message, element, parentType) {
1025110307

1025210308
("production" !== "development" ? warning(
1025310309
false,
10254-
message + '%s%s See http://fb.me/react-warning-keys for more information.',
10310+
message + '%s%s See https://fb.me/react-warning-keys for more information.',
1025510311
parentOrOwnerAddendum,
1025610312
childOwnerAddendum
1025710313
) : null);
@@ -10375,9 +10431,9 @@ function warnForPropsMutation(propName, element) {
1037510431

1037610432
("production" !== "development" ? warning(
1037710433
false,
10378-
'Don\'t set .props.%s of the React component%s. ' +
10379-
'Instead, specify the correct value when ' +
10380-
'initially creating the element.%s',
10434+
'Don\'t set .props.%s of the React component%s. Instead, specify the ' +
10435+
'correct value when initially creating the element or use ' +
10436+
'React.cloneElement to make a new element with updated props.%s',
1038110437
propName,
1038210438
elementInfo,
1038310439
ownerInfo
@@ -15047,6 +15103,7 @@ var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE;
1504715103

1504815104
var SVGDOMPropertyConfig = {
1504915105
Properties: {
15106+
clipPath: MUST_USE_ATTRIBUTE,
1505015107
cx: MUST_USE_ATTRIBUTE,
1505115108
cy: MUST_USE_ATTRIBUTE,
1505215109
d: MUST_USE_ATTRIBUTE,
@@ -15092,6 +15149,7 @@ var SVGDOMPropertyConfig = {
1509215149
y: MUST_USE_ATTRIBUTE
1509315150
},
1509415151
DOMAttributeNames: {
15152+
clipPath: 'clip-path',
1509515153
fillOpacity: 'fill-opacity',
1509615154
fontFamily: 'font-family',
1509715155
fontSize: 'font-size',
@@ -17887,6 +17945,7 @@ var shouldWrap = {
1788717945
// Force wrapping for SVG elements because if they get created inside a <div>,
1788817946
// they will be initialized in the wrong namespace (and will not display).
1788917947
'circle': true,
17948+
'clipPath': true,
1789017949
'defs': true,
1789117950
'ellipse': true,
1789217951
'g': true,
@@ -17929,6 +17988,7 @@ var markupWrap = {
1792917988
'th': trWrap,
1793017989

1793117990
'circle': svgWrap,
17991+
'clipPath': svgWrap,
1793217992
'defs': svgWrap,
1793317993
'ellipse': svgWrap,
1793417994
'g': svgWrap,
@@ -18274,6 +18334,7 @@ assign(
1827418334
function isInternalComponentType(type) {
1827518335
return (
1827618336
typeof type === 'function' &&
18337+
typeof type.prototype !== 'undefined' &&
1827718338
typeof type.prototype.mountComponent === 'function' &&
1827818339
typeof type.prototype.receiveComponent === 'function'
1827918340
);
@@ -19538,4 +19599,4 @@ if ("production" !== "development") {
1953819599
module.exports = warning;
1953919600

1954019601
},{"114":114}]},{},[1])(1)
19541-
});
19602+
});

0 commit comments

Comments
 (0)
Please sign in to comment.