diff --git a/dist/react-select.js b/dist/react-select.js index 43a19cf4ed..a920109ad9 100644 --- a/dist/react-select.js +++ b/dist/react-select.js @@ -156,8 +156,8 @@ var Async = _react2['default'].createClass({ input = '' + nextState; } } - if (this.props.ignoreAccents) input = (0, _utilsStripDiacritics2['default'])(input); - if (this.props.ignoreCase) input = input.toLowerCase(); + // if (this.props.ignoreAccents) input = stripDiacritics(input); + // if (this.props.ignoreCase) input = input.toLowerCase(); this._lastInput = input; if (input.length < this.props.minimumInput) { diff --git a/dist/react-select.min.js b/dist/react-select.min.js index 0c1229a4bb..0fe07237da 100644 --- a/dist/react-select.min.js +++ b/dist/react-select.min.js @@ -1,2 +1,2 @@ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Select=e()}}(function(){return function e(t,u,s){function o(i,a){if(!u[i]){if(!t[i]){var r="function"==typeof require&&require;if(!a&&r)return r(i,!0);if(n)return n(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var p=u[i]={exports:{}};t[i][0].call(p.exports,function(e){var u=t[i][1][e];return o(u?u:e)},p,p.exports,e,t,u,s)}return u[i].exports}for(var n="function"==typeof require&&require,i=0;i=0;--u){var s=t.slice(0,u);if(e[s]&&(t===s||e[s].complete))return e[s]}}function a(e,t){if(e&&"function"==typeof e.then)return e.then(function(e){t(null,e)},function(e){t(e)})}var r=Object.assign||function(e){for(var t=1;ta.bottom||i.topt.offsetHeight&&!(t.scrollHeight-t.offsetHeight-t.scrollTop)&&this.props.onMenuScrollToBottom()}},handleRequired:function(e,t){return!e||(t?0===e.length:0===Object.keys(e).length)},getOptionLabel:function(e){return e[this.props.labelKey]},getValueArray:function(e,t){var u=this,s="object"==typeof t?t:this.props;if(s.multi){if("string"==typeof e&&(e=e.split(s.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return u.expandValue(e,s)}).filter(function(e){return e})}var o=this.expandValue(e,s);return o?[o]:[]},expandValue:function(e,t){if("string"!=typeof e&&"number"!=typeof e)return e;var u=t.options,s=t.valueKey;if(u)for(var o=0;o0?u-=1:u=t.length-1;else if("start"===e)u=0;else if("end"===e)u=t.length-1;else if("page_up"===e){var o=u-this.props.pageSize;u=o<0?0:o}else if("page_down"===e){var o=u+this.props.pageSize;u=o>t.length-1?t.length-1:o}u===-1&&(u=0),this.setState({focusedIndex:t[u].index,focusedOption:t[u].option})}},selectFocusedOption:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)},renderLoading:function(){if(this.props.isLoading)return l["default"].createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},l["default"].createElement("span",{className:"Select-loading"}))},renderValue:function(e,t){var u=this,s=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return this.state.inputValue?null:l["default"].createElement("div",{className:"Select-placeholder"},this.props.placeholder);var n=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return l["default"].createElement(o,{id:u._instancePrefix+"-value-"+t,instancePrefix:u._instancePrefix,disabled:u.props.disabled||e.clearableValue===!1,key:"value-"+t+"-"+e[u.props.valueKey],onClick:n,onRemove:u.removeValue,value:e},s(e),l["default"].createElement("span",{className:"Select-aria-only"}," "))}):this.state.inputValue?void 0:(t&&(n=null),l["default"].createElement(o,{id:this._instancePrefix+"-value-item",disabled:this.props.disabled,instancePrefix:this._instancePrefix,onClick:n,value:e[0]},s(e[0])))},renderInput:function(e,t){if(this.props.inputRenderer)return this.props.inputRenderer();var u,s=(0,E["default"])("Select-input",this.props.inputProps.className),o=!!this.state.isOpen,i=(0,E["default"])((u={},n(u,this._instancePrefix+"-list",o),n(u,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),u)),r=a({},this.props.inputProps,{role:"combobox","aria-expanded":""+o,"aria-owns":i,"aria-haspopup":""+o,"aria-activedescendant":o?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-labelledby":this.props["aria-labelledby"],"aria-label":this.props["aria-label"],className:s,tabIndex:this.props.tabIndex,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:"input",required:this.state.required,value:this.state.inputValue});if(this.props.disabled||!this.props.searchable){var p=(0,b["default"])(this.props.inputProps,"inputClassName");return l["default"].createElement("div",a({},p,{role:"combobox","aria-expanded":o,"aria-owns":o?this._instancePrefix+"-list":this._instancePrefix+"-value","aria-activedescendant":o?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value",className:s,tabIndex:this.props.tabIndex||0,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:"input","aria-readonly":""+!!this.props.disabled,style:{border:0,width:1,display:"inline-block"}}))}return this.props.autosize?l["default"].createElement(f["default"],a({},r,{minWidth:"5px"})):l["default"].createElement("div",{className:s},l["default"].createElement("input",r))},renderClear:function(){if(this.props.clearable&&this.props.value&&(!this.props.multi||this.props.value.length)&&!this.props.disabled&&!this.props.isLoading)return l["default"].createElement("span",{className:"Select-clear-zone",title:this.props.multi?this.props.clearAllText:this.props.clearValueText,"aria-label":this.props.multi?this.props.clearAllText:this.props.clearValueText,onMouseDown:this.clearValue,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEndClearValue},l["default"].createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}}))},renderArrow:function(){return l["default"].createElement("span",{className:"Select-arrow-zone",onMouseDown:this.handleMouseDownOnArrow},l["default"].createElement("span",{className:"Select-arrow",onMouseDown:this.handleMouseDownOnArrow}))},filterOptions:function(e){var t=this,u=this.state.inputValue,s=this.props.options||[];return"function"==typeof this.props.filterOptions?this.props.filterOptions.call(this,s,u,e):this.props.filterOptions?(this.props.ignoreAccents&&(u=(0,F["default"])(u)),this.props.ignoreCase&&(u=u.toLowerCase()),e&&(e=e.map(function(e){return e[t.props.valueKey]})),s.filter(function(s){if(e&&e.indexOf(s[t.props.valueKey])>-1)return!1;if(t.props.filterOption)return t.props.filterOption.call(t,s,u);if(!u)return!0;var o=String(s[t.props.valueKey]),n=String(s[t.props.labelKey]);return t.props.ignoreAccents&&("label"!==t.props.matchProp&&(o=(0,F["default"])(o)),"value"!==t.props.matchProp&&(n=(0,F["default"])(n))),t.props.ignoreCase&&("label"!==t.props.matchProp&&(o=o.toLowerCase()),"value"!==t.props.matchProp&&(n=n.toLowerCase())),"start"===t.props.matchPos?"label"!==t.props.matchProp&&o.substr(0,u.length)===u||"value"!==t.props.matchProp&&n.substr(0,u.length)===u:"label"!==t.props.matchProp&&o.indexOf(u)>=0||"value"!==t.props.matchProp&&n.indexOf(u)>=0})):s},renderMenu:function(e,t,u){var s=this;if(!(e&&e.length||this.props.allowCreate))return this.props.noResultsText?l["default"].createElement("div",{className:"Select-noresults"},this.props.noResultsText):null;if(this.props.menuRenderer)return this.props.menuRenderer({focusedOption:u,focusOption:this.focusOption,labelKey:this.props.labelKey,options:e,selectValue:this.selectValue,valueArray:t});var o=function(){var o=s.props.optionComponent,n=s.props.optionRenderer||s.getOptionLabel;if(s.props.allowCreate&&s.state.inputValue.trim()){var i=s.state.inputValue;e=e.slice();var a=s.props.newOptionCreator?s.props.newOptionCreator(i):{value:i,label:i,create:!0};e.unshift(a)}return{v:e.map(function(e,i){var a=t&&t.indexOf(e)>-1,r=e===u,p=r?"focused":null,d=(0,E["default"])(s.props.optionClassName,{"Select-option":!0,"is-selected":a,"is-focused":r,"is-disabled":e.disabled});return l["default"].createElement(o,{instancePrefix:s._instancePrefix,optionIndex:i,className:d,isDisabled:e.disabled,isFocused:r,key:"option-"+i+"-"+e[s.props.valueKey],onSelect:s.selectValue,onFocus:s.focusOption,option:e,isSelected:a,ref:p},n(e))})}}();return"object"==typeof o?o.v:void 0},renderHiddenField:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var u=e.map(function(e){return i(e[t.props.valueKey])}).join(this.props.delimiter);return l["default"].createElement("input",{type:"hidden",ref:"value",name:this.props.name,value:u,disabled:this.props.disabled})}return e.map(function(e,u){return l["default"].createElement("input",{key:"hidden."+u,type:"hidden",ref:"value"+u,name:t.props.name,value:i(e[t.props.valueKey]),disabled:t.props.disabled})})}},getFocusableOptionIndex:function(e){var t=this._visibleOptions;if(!t.length)return null;var u=this.state.focusedOption||e;if(u&&!u.disabled){var s=t.indexOf(u);if(s!==-1)return s}for(var o=0;o=0;--u){var s=t.slice(0,u);if(e[s]&&(t===s||e[s].complete))return e[s]}}function a(e,t){if(e&&"function"==typeof e.then)return e.then(function(e){t(null,e)},function(e){t(e)})}var r=Object.assign||function(e){for(var t=1;ta.bottom||i.topt.offsetHeight&&!(t.scrollHeight-t.offsetHeight-t.scrollTop)&&this.props.onMenuScrollToBottom()}},handleRequired:function(e,t){return!e||(t?0===e.length:0===Object.keys(e).length)},getOptionLabel:function(e){return e[this.props.labelKey]},getValueArray:function(e,t){var u=this,s="object"==typeof t?t:this.props;if(s.multi){if("string"==typeof e&&(e=e.split(s.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return u.expandValue(e,s)}).filter(function(e){return e})}var n=this.expandValue(e,s);return n?[n]:[]},expandValue:function(e,t){if("string"!=typeof e&&"number"!=typeof e)return e;var u=t.options,s=t.valueKey;if(u)for(var n=0;n0?u-=1:u=t.length-1;else if("start"===e)u=0;else if("end"===e)u=t.length-1;else if("page_up"===e){var n=u-this.props.pageSize;u=n<0?0:n}else if("page_down"===e){var n=u+this.props.pageSize;u=n>t.length-1?t.length-1:n}u===-1&&(u=0),this.setState({focusedIndex:t[u].index,focusedOption:t[u].option})}},selectFocusedOption:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)},renderLoading:function(){if(this.props.isLoading)return l["default"].createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},l["default"].createElement("span",{className:"Select-loading"}))},renderValue:function(e,t){var u=this,s=this.props.valueRenderer||this.getOptionLabel,n=this.props.valueComponent;if(!e.length)return this.state.inputValue?null:l["default"].createElement("div",{className:"Select-placeholder"},this.props.placeholder);var o=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return l["default"].createElement(n,{id:u._instancePrefix+"-value-"+t,instancePrefix:u._instancePrefix,disabled:u.props.disabled||e.clearableValue===!1,key:"value-"+t+"-"+e[u.props.valueKey],onClick:o,onRemove:u.removeValue,value:e},s(e),l["default"].createElement("span",{className:"Select-aria-only"}," "))}):this.state.inputValue?void 0:(t&&(o=null),l["default"].createElement(n,{id:this._instancePrefix+"-value-item",disabled:this.props.disabled,instancePrefix:this._instancePrefix,onClick:o,value:e[0]},s(e[0])))},renderInput:function(e,t){if(this.props.inputRenderer)return this.props.inputRenderer();var u,s=(0,E["default"])("Select-input",this.props.inputProps.className),n=!!this.state.isOpen,i=(0,E["default"])((u={},o(u,this._instancePrefix+"-list",n),o(u,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),u)),r=a({},this.props.inputProps,{role:"combobox","aria-expanded":""+n,"aria-owns":i,"aria-haspopup":""+n,"aria-activedescendant":n?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-labelledby":this.props["aria-labelledby"],"aria-label":this.props["aria-label"],className:s,tabIndex:this.props.tabIndex,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:"input",required:this.state.required,value:this.state.inputValue});if(this.props.disabled||!this.props.searchable){var p=(0,b["default"])(this.props.inputProps,"inputClassName");return l["default"].createElement("div",a({},p,{role:"combobox","aria-expanded":n,"aria-owns":n?this._instancePrefix+"-list":this._instancePrefix+"-value","aria-activedescendant":n?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value",className:s,tabIndex:this.props.tabIndex||0,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:"input","aria-readonly":""+!!this.props.disabled,style:{border:0,width:1,display:"inline-block"}}))}return this.props.autosize?l["default"].createElement(f["default"],a({},r,{minWidth:"5px"})):l["default"].createElement("div",{className:s},l["default"].createElement("input",r))},renderClear:function(){if(this.props.clearable&&this.props.value&&(!this.props.multi||this.props.value.length)&&!this.props.disabled&&!this.props.isLoading)return l["default"].createElement("span",{className:"Select-clear-zone",title:this.props.multi?this.props.clearAllText:this.props.clearValueText,"aria-label":this.props.multi?this.props.clearAllText:this.props.clearValueText,onMouseDown:this.clearValue,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEndClearValue},l["default"].createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}}))},renderArrow:function(){return l["default"].createElement("span",{className:"Select-arrow-zone",onMouseDown:this.handleMouseDownOnArrow},l["default"].createElement("span",{className:"Select-arrow",onMouseDown:this.handleMouseDownOnArrow}))},filterOptions:function(e){var t=this,u=this.state.inputValue,s=this.props.options||[];return"function"==typeof this.props.filterOptions?this.props.filterOptions.call(this,s,u,e):this.props.filterOptions?(this.props.ignoreAccents&&(u=(0,F["default"])(u)),this.props.ignoreCase&&(u=u.toLowerCase()),e&&(e=e.map(function(e){return e[t.props.valueKey]})),s.filter(function(s){if(e&&e.indexOf(s[t.props.valueKey])>-1)return!1;if(t.props.filterOption)return t.props.filterOption.call(t,s,u);if(!u)return!0;var n=String(s[t.props.valueKey]),o=String(s[t.props.labelKey]);return t.props.ignoreAccents&&("label"!==t.props.matchProp&&(n=(0,F["default"])(n)),"value"!==t.props.matchProp&&(o=(0,F["default"])(o))),t.props.ignoreCase&&("label"!==t.props.matchProp&&(n=n.toLowerCase()),"value"!==t.props.matchProp&&(o=o.toLowerCase())),"start"===t.props.matchPos?"label"!==t.props.matchProp&&n.substr(0,u.length)===u||"value"!==t.props.matchProp&&o.substr(0,u.length)===u:"label"!==t.props.matchProp&&n.indexOf(u)>=0||"value"!==t.props.matchProp&&o.indexOf(u)>=0})):s},renderMenu:function(e,t,u){var s=this;if(!(e&&e.length||this.props.allowCreate))return this.props.noResultsText?l["default"].createElement("div",{className:"Select-noresults"},this.props.noResultsText):null;if(this.props.menuRenderer)return this.props.menuRenderer({focusedOption:u,focusOption:this.focusOption,labelKey:this.props.labelKey,options:e,selectValue:this.selectValue,valueArray:t});var n=function(){var n=s.props.optionComponent,o=s.props.optionRenderer||s.getOptionLabel;if(s.props.allowCreate&&s.state.inputValue.trim()){var i=s.state.inputValue;e=e.slice();var a=s.props.newOptionCreator?s.props.newOptionCreator(i):{value:i,label:i,create:!0};e.unshift(a)}return{v:e.map(function(e,i){var a=t&&t.indexOf(e)>-1,r=e===u,p=r?"focused":null,d=(0,E["default"])(s.props.optionClassName,{"Select-option":!0,"is-selected":a,"is-focused":r,"is-disabled":e.disabled});return l["default"].createElement(n,{instancePrefix:s._instancePrefix,optionIndex:i,className:d,isDisabled:e.disabled,isFocused:r,key:"option-"+i+"-"+e[s.props.valueKey],onSelect:s.selectValue,onFocus:s.focusOption,option:e,isSelected:a,ref:p},o(e))})}}();return"object"==typeof n?n.v:void 0},renderHiddenField:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var u=e.map(function(e){return i(e[t.props.valueKey])}).join(this.props.delimiter);return l["default"].createElement("input",{type:"hidden",ref:"value",name:this.props.name,value:u,disabled:this.props.disabled})}return e.map(function(e,u){return l["default"].createElement("input",{key:"hidden."+u,type:"hidden",ref:"value"+u,name:t.props.name,value:i(e[t.props.valueKey]),disabled:t.props.disabled})})}},getFocusableOptionIndex:function(e){var t=this._visibleOptions;if(!t.length)return null;var u=this.state.focusedOption||e;if(u&&!u.disabled){var s=t.indexOf(u);if(s!==-1)return s}for(var n=0;n - * License: MIT +/*! + * Determine if an object is a Buffer * - * `npm install is-buffer` + * @author Feross Aboukhadijeh + * @license MIT */ +// The _isBuffer check is for Safari 5-7 support, because it's missing +// Object.prototype.constructor. Remove this eventually module.exports = function (obj) { - return !!(obj != null && - (obj._isBuffer || // For Safari 5-7 (missing Object.prototype.constructor) - (obj.constructor && - typeof obj.constructor.isBuffer === 'function' && - obj.constructor.isBuffer(obj)) - )) + return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) +} + +function isBuffer (obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +} + +// For Node v0.10 support. Remove this eventually. +function isSlowBuffer (obj) { + return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) } },{}],20:[function(require,module,exports){ @@ -1491,7 +1495,6 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { }).call(this,require('_process')) },{"_process":25}],25:[function(require,module,exports){ // shim for using process in browser - var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it @@ -1503,21 +1506,63 @@ var cachedSetTimeout; var cachedClearTimeout; (function () { - try { - cachedSetTimeout = setTimeout; - } catch (e) { - cachedSetTimeout = function () { - throw new Error('setTimeout is not defined'); + try { + cachedSetTimeout = setTimeout; + } catch (e) { + cachedSetTimeout = function () { + throw new Error('setTimeout is not defined'); + } } - } - try { - cachedClearTimeout = clearTimeout; - } catch (e) { - cachedClearTimeout = function () { - throw new Error('clearTimeout is not defined'); + try { + cachedClearTimeout = clearTimeout; + } catch (e) { + cachedClearTimeout = function () { + throw new Error('clearTimeout is not defined'); + } } - } } ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} var queue = []; var draining = false; var currentQueue; @@ -1542,7 +1587,7 @@ function drainQueue() { if (draining) { return; } - var timeout = cachedSetTimeout.call(null, cleanUpNextTick); + var timeout = runTimeout(cleanUpNextTick); draining = true; var len = queue.length; @@ -1559,7 +1604,7 @@ function drainQueue() { } currentQueue = null; draining = false; - cachedClearTimeout.call(null, timeout); + runClearTimeout(timeout); } process.nextTick = function (fun) { @@ -1571,7 +1616,7 @@ process.nextTick = function (fun) { } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { - cachedSetTimeout.call(null, drainQueue, 0); + runTimeout(drainQueue); } }; diff --git a/examples/dist/bundle.js b/examples/dist/bundle.js index 146a79be51..6034e414f7 100644 --- a/examples/dist/bundle.js +++ b/examples/dist/bundle.js @@ -155,8 +155,8 @@ var Async = _react2['default'].createClass({ input = '' + nextState; } } - if (this.props.ignoreAccents) input = (0, _utilsStripDiacritics2['default'])(input); - if (this.props.ignoreCase) input = input.toLowerCase(); + // if (this.props.ignoreAccents) input = stripDiacritics(input); + // if (this.props.ignoreCase) input = input.toLowerCase(); this._lastInput = input; if (input.length < this.props.minimumInput) { diff --git a/examples/dist/common.js b/examples/dist/common.js index 8f504d7625..7d48feea46 100644 --- a/examples/dist/common.js +++ b/examples/dist/common.js @@ -1297,6 +1297,168 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { }; },{}],28:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +(function () { + try { + cachedSetTimeout = setTimeout; + } catch (e) { + cachedSetTimeout = function () { + throw new Error('setTimeout is not defined'); + } + } + try { + cachedClearTimeout = clearTimeout; + } catch (e) { + cachedClearTimeout = function () { + throw new Error('clearTimeout is not defined'); + } + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],29:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -1321,7 +1483,7 @@ var AutoFocusUtils = { }; module.exports = AutoFocusUtils; -},{"./ReactDOMComponentTree":68,"fbjs/lib/focusNode":10}],29:[function(require,module,exports){ +},{"./ReactDOMComponentTree":70,"fbjs/lib/focusNode":10}],30:[function(require,module,exports){ /** * Copyright 2013-present Facebook, Inc. * All rights reserved. @@ -1710,7 +1872,7 @@ var BeforeInputEventPlugin = { }; module.exports = BeforeInputEventPlugin; -},{"./EventConstants":43,"./EventPropagators":47,"./FallbackCompositionState":48,"./SyntheticCompositionEvent":125,"./SyntheticInputEvent":129,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/keyOf":20}],30:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPropagators":48,"./FallbackCompositionState":49,"./SyntheticCompositionEvent":129,"./SyntheticInputEvent":133,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/keyOf":20}],31:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -1859,7 +2021,7 @@ var CSSProperty = { }; module.exports = CSSProperty; -},{}],31:[function(require,module,exports){ +},{}],32:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -2065,7 +2227,7 @@ var CSSPropertyOperations = { }; module.exports = CSSPropertyOperations; -},{"./CSSProperty":30,"./ReactInstrumentation":100,"./dangerousStyleValue":143,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/camelizeStyleName":4,"fbjs/lib/hyphenateStyleName":15,"fbjs/lib/memoizeStringOnly":22,"fbjs/lib/warning":26}],32:[function(require,module,exports){ +},{"./CSSProperty":31,"./ReactInstrumentation":102,"./dangerousStyleValue":147,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/camelizeStyleName":4,"fbjs/lib/hyphenateStyleName":15,"fbjs/lib/memoizeStringOnly":22,"fbjs/lib/warning":26}],33:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -2172,7 +2334,7 @@ _assign(CallbackQueue.prototype, { PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; -},{"./PooledClass":52,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"object-assign":27}],33:[function(require,module,exports){ +},{"./PooledClass":53,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"object-assign":27}],34:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -2498,7 +2660,7 @@ var ChangeEventPlugin = { }; module.exports = ChangeEventPlugin; -},{"./EventConstants":43,"./EventPluginHub":44,"./EventPropagators":47,"./ReactDOMComponentTree":68,"./ReactUpdates":118,"./SyntheticEvent":127,"./getEventTarget":151,"./isEventSupported":158,"./isTextInputElement":159,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/keyOf":20}],34:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPluginHub":45,"./EventPropagators":48,"./ReactDOMComponentTree":70,"./ReactUpdates":122,"./SyntheticEvent":131,"./getEventTarget":155,"./isEventSupported":162,"./isTextInputElement":163,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/keyOf":20}],35:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -2693,7 +2855,7 @@ var DOMChildrenOperations = { }; module.exports = DOMChildrenOperations; -},{"./DOMLazyTree":35,"./Danger":39,"./ReactDOMComponentTree":68,"./ReactInstrumentation":100,"./ReactMultiChildUpdateTypes":105,"./createMicrosoftUnsafeLocalFunction":142,"./setInnerHTML":164,"./setTextContent":165}],35:[function(require,module,exports){ +},{"./DOMLazyTree":36,"./Danger":40,"./ReactDOMComponentTree":70,"./ReactInstrumentation":102,"./ReactMultiChildUpdateTypes":107,"./createMicrosoftUnsafeLocalFunction":146,"./setInnerHTML":168,"./setTextContent":169}],36:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -2812,7 +2974,7 @@ DOMLazyTree.queueHTML = queueHTML; DOMLazyTree.queueText = queueText; module.exports = DOMLazyTree; -},{"./DOMNamespaces":36,"./createMicrosoftUnsafeLocalFunction":142,"./setInnerHTML":164,"./setTextContent":165}],36:[function(require,module,exports){ +},{"./DOMNamespaces":37,"./createMicrosoftUnsafeLocalFunction":146,"./setInnerHTML":168,"./setTextContent":169}],37:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -2833,7 +2995,7 @@ var DOMNamespaces = { }; module.exports = DOMNamespaces; -},{}],37:[function(require,module,exports){ +},{}],38:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3040,7 +3202,7 @@ var DOMProperty = { }; module.exports = DOMProperty; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],38:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],39:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3269,7 +3431,7 @@ var DOMPropertyOperations = { }; module.exports = DOMPropertyOperations; -},{"./DOMProperty":37,"./ReactDOMComponentTree":68,"./ReactDOMInstrumentation":76,"./ReactInstrumentation":100,"./quoteAttributeValueForBrowser":161,"fbjs/lib/warning":26}],39:[function(require,module,exports){ +},{"./DOMProperty":38,"./ReactDOMComponentTree":70,"./ReactDOMInstrumentation":78,"./ReactInstrumentation":102,"./quoteAttributeValueForBrowser":165,"fbjs/lib/warning":26}],40:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3318,7 +3480,7 @@ var Danger = { }; module.exports = Danger; -},{"./DOMLazyTree":35,"./reactProdInvariant":162,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/createNodesFromMarkup":7,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16}],40:[function(require,module,exports){ +},{"./DOMLazyTree":36,"./reactProdInvariant":166,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/createNodesFromMarkup":7,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16}],41:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3346,7 +3508,7 @@ var keyOf = require('fbjs/lib/keyOf'); var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; module.exports = DefaultEventPluginOrder; -},{"fbjs/lib/keyOf":20}],41:[function(require,module,exports){ +},{"fbjs/lib/keyOf":20}],42:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3397,7 +3559,7 @@ var DisabledInputUtils = { }; module.exports = DisabledInputUtils; -},{}],42:[function(require,module,exports){ +},{}],43:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3503,7 +3665,7 @@ var EnterLeaveEventPlugin = { }; module.exports = EnterLeaveEventPlugin; -},{"./EventConstants":43,"./EventPropagators":47,"./ReactDOMComponentTree":68,"./SyntheticMouseEvent":131,"fbjs/lib/keyOf":20}],43:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPropagators":48,"./ReactDOMComponentTree":70,"./SyntheticMouseEvent":135,"fbjs/lib/keyOf":20}],44:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3601,7 +3763,7 @@ var EventConstants = { }; module.exports = EventConstants; -},{"fbjs/lib/keyMirror":19}],44:[function(require,module,exports){ +},{"fbjs/lib/keyMirror":19}],45:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -3659,6 +3821,10 @@ var executeDispatchesAndReleaseTopLevel = function (e) { return executeDispatchesAndRelease(e, false); }; +var getDictionaryKey = function (inst) { + return '.' + inst._rootNodeID; +}; + /** * This is a unified interface for event plugins to be installed and configured. * @@ -3702,7 +3868,7 @@ var EventPluginHub = { }, /** - * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. + * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). @@ -3711,8 +3877,9 @@ var EventPluginHub = { putListener: function (inst, registrationName, listener) { !(typeof listener === 'function') ? "production" !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0; + var key = getDictionaryKey(inst); var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); - bankForRegistrationName[inst._rootNodeID] = listener; + bankForRegistrationName[key] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { @@ -3727,7 +3894,8 @@ var EventPluginHub = { */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; - return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; + var key = getDictionaryKey(inst); + return bankForRegistrationName && bankForRegistrationName[key]; }, /** @@ -3745,7 +3913,8 @@ var EventPluginHub = { var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { - delete bankForRegistrationName[inst._rootNodeID]; + var key = getDictionaryKey(inst); + delete bankForRegistrationName[key]; } }, @@ -3755,12 +3924,13 @@ var EventPluginHub = { * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { + var key = getDictionaryKey(inst); for (var registrationName in listenerBank) { if (!listenerBank.hasOwnProperty(registrationName)) { continue; } - if (!listenerBank[registrationName][inst._rootNodeID]) { + if (!listenerBank[registrationName][key]) { continue; } @@ -3769,7 +3939,7 @@ var EventPluginHub = { PluginModule.willDeleteListener(inst, registrationName); } - delete listenerBank[registrationName][inst._rootNodeID]; + delete listenerBank[registrationName][key]; } }, @@ -3843,7 +4013,7 @@ var EventPluginHub = { }; module.exports = EventPluginHub; -},{"./EventPluginRegistry":45,"./EventPluginUtils":46,"./ReactErrorUtils":91,"./accumulateInto":138,"./forEachAccumulated":147,"./reactProdInvariant":162,"fbjs/lib/invariant":16}],45:[function(require,module,exports){ +},{"./EventPluginRegistry":46,"./EventPluginUtils":47,"./ReactErrorUtils":93,"./accumulateInto":142,"./forEachAccumulated":151,"./reactProdInvariant":166,"fbjs/lib/invariant":16}],46:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4091,7 +4261,7 @@ var EventPluginRegistry = { }; module.exports = EventPluginRegistry; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],46:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],47:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4321,7 +4491,7 @@ var EventPluginUtils = { }; module.exports = EventPluginUtils; -},{"./EventConstants":43,"./ReactErrorUtils":91,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],47:[function(require,module,exports){ +},{"./EventConstants":44,"./ReactErrorUtils":93,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],48:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4459,7 +4629,7 @@ var EventPropagators = { }; module.exports = EventPropagators; -},{"./EventConstants":43,"./EventPluginHub":44,"./EventPluginUtils":46,"./accumulateInto":138,"./forEachAccumulated":147,"fbjs/lib/warning":26}],48:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPluginHub":45,"./EventPluginUtils":47,"./accumulateInto":142,"./forEachAccumulated":151,"fbjs/lib/warning":26}],49:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4555,7 +4725,7 @@ _assign(FallbackCompositionState.prototype, { PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; -},{"./PooledClass":52,"./getTextContentAccessor":155,"object-assign":27}],49:[function(require,module,exports){ +},{"./PooledClass":53,"./getTextContentAccessor":159,"object-assign":27}],50:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4675,6 +4845,7 @@ var HTMLDOMPropertyConfig = { profile: 0, radioGroup: 0, readOnly: HAS_BOOLEAN_VALUE, + referrerPolicy: 0, rel: 0, required: HAS_BOOLEAN_VALUE, reversed: HAS_BOOLEAN_VALUE, @@ -4764,7 +4935,7 @@ var HTMLDOMPropertyConfig = { }; module.exports = HTMLDOMPropertyConfig; -},{"./DOMProperty":37}],50:[function(require,module,exports){ +},{"./DOMProperty":38}],51:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4824,7 +4995,7 @@ var KeyEscapeUtils = { }; module.exports = KeyEscapeUtils; -},{}],51:[function(require,module,exports){ +},{}],52:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -4842,6 +5013,7 @@ var _prodInvariant = require('./reactProdInvariant'); var ReactPropTypes = require('./ReactPropTypes'); var ReactPropTypeLocations = require('./ReactPropTypeLocations'); +var ReactPropTypesSecret = require('./ReactPropTypesSecret'); var invariant = require('fbjs/lib/invariant'); var warning = require('fbjs/lib/warning'); @@ -4904,7 +5076,7 @@ var LinkedValueUtils = { checkPropTypes: function (tagName, props, owner) { for (var propName in propTypes) { if (propTypes.hasOwnProperty(propName)) { - var error = propTypes[propName](props, propName, tagName, ReactPropTypeLocations.prop); + var error = propTypes[propName](props, propName, tagName, ReactPropTypeLocations.prop, null, ReactPropTypesSecret); } if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the @@ -4960,7 +5132,7 @@ var LinkedValueUtils = { }; module.exports = LinkedValueUtils; -},{"./ReactPropTypeLocations":110,"./ReactPropTypes":111,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],52:[function(require,module,exports){ +},{"./ReactPropTypeLocations":112,"./ReactPropTypes":113,"./ReactPropTypesSecret":114,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],53:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -5082,7 +5254,7 @@ var PooledClass = { }; module.exports = PooledClass; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],53:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],54:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -5100,6 +5272,7 @@ var _assign = require('object-assign'); var ReactChildren = require('./ReactChildren'); var ReactComponent = require('./ReactComponent'); +var ReactPureComponent = require('./ReactPureComponent'); var ReactClass = require('./ReactClass'); var ReactDOMFactories = require('./ReactDOMFactories'); var ReactElement = require('./ReactElement'); @@ -5144,6 +5317,7 @@ var React = { }, Component: ReactComponent, + PureComponent: ReactPureComponent, createElement: createElement, cloneElement: cloneElement, @@ -5170,7 +5344,7 @@ var React = { }; module.exports = React; -},{"./ReactChildren":56,"./ReactClass":57,"./ReactComponent":58,"./ReactDOMFactories":72,"./ReactElement":88,"./ReactElementValidator":89,"./ReactPropTypes":111,"./ReactVersion":119,"./onlyChild":160,"fbjs/lib/warning":26,"object-assign":27}],54:[function(require,module,exports){ +},{"./ReactChildren":57,"./ReactClass":59,"./ReactComponent":60,"./ReactDOMFactories":74,"./ReactElement":90,"./ReactElementValidator":91,"./ReactPropTypes":113,"./ReactPureComponent":115,"./ReactVersion":123,"./onlyChild":164,"fbjs/lib/warning":26,"object-assign":27}],55:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -5488,7 +5662,8 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, { }); module.exports = ReactBrowserEventEmitter; -},{"./EventConstants":43,"./EventPluginRegistry":45,"./ReactEventEmitterMixin":92,"./ViewportMetrics":137,"./getVendorPrefixedEventName":156,"./isEventSupported":158,"object-assign":27}],55:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPluginRegistry":46,"./ReactEventEmitterMixin":94,"./ViewportMetrics":141,"./getVendorPrefixedEventName":160,"./isEventSupported":162,"object-assign":27}],56:[function(require,module,exports){ +(function (process){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -5510,11 +5685,24 @@ var shouldUpdateReactComponent = require('./shouldUpdateReactComponent'); var traverseAllChildren = require('./traverseAllChildren'); var warning = require('fbjs/lib/warning'); +var ReactComponentTreeDevtool; + +if (typeof process !== 'undefined' && process.env && "production" === 'test') { + // Temporary hack. + // Inline requires don't work well with Jest: + // https://github.com/facebook/react/issues/7240 + // Remove the inline requires when we don't need them anymore: + // https://github.com/facebook/react/pull/7178 + ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); +} + function instantiateChild(childInstances, child, name, selfDebugID) { // We found a component instance. var keyUnique = childInstances[name] === undefined; if ("production" !== 'production') { - var ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + if (!ReactComponentTreeDevtool) { + ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + } "production" !== 'production' ? warning(keyUnique, '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), ReactComponentTreeDevtool.getStackAddendumByID(selfDebugID)) : void 0; } if (child != null && keyUnique) { @@ -5563,7 +5751,7 @@ var ReactChildReconciler = { * @return {?object} A new set of child instances. * @internal */ - updateChildren: function (prevChildren, nextChildren, removedNodes, transaction, context) { + updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context) { // We currently don't have a way to track moves here but if we use iterators // instead of for..in we can zip the iterators and check if an item has // moved. @@ -5592,6 +5780,10 @@ var ReactChildReconciler = { // The child must be instantiated before it's mounted. var nextChildInstance = instantiateReactComponent(nextElement, true); nextChildren[name] = nextChildInstance; + // Creating mount image now ensures refs are resolved in right order + // (see https://github.com/facebook/react/pull/7101 for explanation). + var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context); + mountImages.push(nextChildMountImage); } } // Unmount children that are no longer present. @@ -5623,7 +5815,8 @@ var ReactChildReconciler = { }; module.exports = ReactChildReconciler; -},{"./KeyEscapeUtils":50,"./ReactComponentTreeDevtool":61,"./ReactReconciler":113,"./instantiateReactComponent":157,"./shouldUpdateReactComponent":166,"./traverseAllChildren":167,"fbjs/lib/warning":26}],56:[function(require,module,exports){ +}).call(this,require('_process')) +},{"./KeyEscapeUtils":51,"./ReactComponentTreeDevtool":63,"./ReactReconciler":117,"./instantiateReactComponent":161,"./shouldUpdateReactComponent":170,"./traverseAllChildren":171,"_process":28,"fbjs/lib/warning":26}],57:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -5815,7 +6008,70 @@ var ReactChildren = { }; module.exports = ReactChildren; -},{"./PooledClass":52,"./ReactElement":88,"./traverseAllChildren":167,"fbjs/lib/emptyFunction":8}],57:[function(require,module,exports){ +},{"./PooledClass":53,"./ReactElement":90,"./traverseAllChildren":171,"fbjs/lib/emptyFunction":8}],58:[function(require,module,exports){ +/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactChildrenMutationWarningDevtool + */ + +'use strict'; + +var ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + +var warning = require('fbjs/lib/warning'); + +var elements = {}; + +function handleElement(debugID, element) { + if (element == null) { + return; + } + if (element._shadowChildren === undefined) { + return; + } + if (element._shadowChildren === element.props.children) { + return; + } + var isMutated = false; + if (Array.isArray(element._shadowChildren)) { + if (element._shadowChildren.length === element.props.children.length) { + for (var i = 0; i < element._shadowChildren.length; i++) { + if (element._shadowChildren[i] !== element.props.children[i]) { + isMutated = true; + } + } + } else { + isMutated = true; + } + } + "production" !== 'production' ? warning(Array.isArray(element._shadowChildren) && !isMutated, 'Component\'s children should not be mutated.%s', ReactComponentTreeDevtool.getStackAddendumByID(debugID)) : void 0; +} + +var ReactDOMUnknownPropertyDevtool = { + onBeforeMountComponent: function (debugID, element) { + elements[debugID] = element; + }, + onBeforeUpdateComponent: function (debugID, element) { + elements[debugID] = element; + }, + onComponentHasMounted: function (debugID) { + handleElement(debugID, elements[debugID]); + delete elements[debugID]; + }, + onComponentHasUpdated: function (debugID) { + handleElement(debugID, elements[debugID]); + delete elements[debugID]; + } +}; + +module.exports = ReactDOMUnknownPropertyDevtool; +},{"./ReactComponentTreeDevtool":63,"fbjs/lib/warning":26}],59:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -6203,6 +6459,13 @@ function validateMethodOverride(isAlreadyDefined, name) { */ function mixSpecIntoComponent(Constructor, spec) { if (!spec) { + if ("production" !== 'production') { + var typeofSpec = typeof spec; + var isMixinValid = typeofSpec === 'object' && spec !== null; + + "production" !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0; + } + return; } @@ -6541,7 +6804,7 @@ var ReactClass = { }; module.exports = ReactClass; -},{"./ReactComponent":58,"./ReactElement":88,"./ReactNoopUpdateQueue":107,"./ReactPropTypeLocationNames":109,"./ReactPropTypeLocations":110,"./reactProdInvariant":162,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/keyMirror":19,"fbjs/lib/keyOf":20,"fbjs/lib/warning":26,"object-assign":27}],58:[function(require,module,exports){ +},{"./ReactComponent":60,"./ReactElement":90,"./ReactNoopUpdateQueue":109,"./ReactPropTypeLocationNames":111,"./ReactPropTypeLocations":112,"./reactProdInvariant":166,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/keyMirror":19,"fbjs/lib/keyOf":20,"fbjs/lib/warning":26,"object-assign":27}],60:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -6660,7 +6923,7 @@ if ("production" !== 'production') { } module.exports = ReactComponent; -},{"./ReactNoopUpdateQueue":107,"./canDefineProperty":140,"./reactProdInvariant":162,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],59:[function(require,module,exports){ +},{"./ReactNoopUpdateQueue":109,"./canDefineProperty":144,"./reactProdInvariant":166,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],61:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -6700,7 +6963,7 @@ var ReactComponentBrowserEnvironment = { }; module.exports = ReactComponentBrowserEnvironment; -},{"./DOMChildrenOperations":34,"./ReactDOMIDOperations":74}],60:[function(require,module,exports){ +},{"./DOMChildrenOperations":35,"./ReactDOMIDOperations":76}],62:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -6754,7 +7017,7 @@ var ReactComponentEnvironment = { }; module.exports = ReactComponentEnvironment; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],61:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],63:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -6973,7 +7236,7 @@ var ReactComponentTreeDevtool = { }; module.exports = ReactComponentTreeDevtool; -},{"./ReactCurrentOwner":63,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],62:[function(require,module,exports){ +},{"./ReactCurrentOwner":65,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],64:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -7001,12 +7264,18 @@ var ReactPropTypeLocations = require('./ReactPropTypeLocations'); var ReactReconciler = require('./ReactReconciler'); var checkReactTypeSpec = require('./checkReactTypeSpec'); - var emptyObject = require('fbjs/lib/emptyObject'); var invariant = require('fbjs/lib/invariant'); +var shallowEqual = require('fbjs/lib/shallowEqual'); var shouldUpdateReactComponent = require('./shouldUpdateReactComponent'); var warning = require('fbjs/lib/warning'); +var CompositeTypes = { + ImpureClass: 0, + PureClass: 1, + StatelessFunctional: 2 +}; + function StatelessComponent(Component) {} StatelessComponent.prototype.render = function () { var Component = ReactInstanceMap.get(this)._currentElement.type; @@ -7045,7 +7314,11 @@ function invokeComponentDidUpdateWithTimer(prevProps, prevState, prevContext) { } function shouldConstruct(Component) { - return Component.prototype && Component.prototype.isReactComponent; + return !!(Component.prototype && Component.prototype.isReactComponent); +} + +function isPureComponent(Component) { + return !!(Component.prototype && Component.prototype.isPureReactComponent); } /** @@ -7098,6 +7371,7 @@ var ReactCompositeComponentMixin = { construct: function (element) { this._currentElement = element; this._rootNodeID = null; + this._compositeType = null; this._instance = null; this._hostParent = null; this._hostContainerInfo = null; @@ -7138,6 +7412,8 @@ var ReactCompositeComponentMixin = { * @internal */ mountComponent: function (transaction, hostParent, hostContainerInfo, context) { + var _this = this; + this._context = context; this._mountOrder = nextMountID++; this._hostParent = hostParent; @@ -7151,15 +7427,23 @@ var ReactCompositeComponentMixin = { var updateQueue = transaction.getUpdateQueue(); // Initialize the public class - var inst = this._constructComponent(publicProps, publicContext, updateQueue); + var doConstruct = shouldConstruct(Component); + var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue); var renderedElement; // Support functional components - if (!shouldConstruct(Component) && (inst == null || inst.render == null)) { + if (!doConstruct && (inst == null || inst.render == null)) { renderedElement = inst; warnIfInvalidElement(Component, renderedElement); !(inst === null || inst === false || ReactElement.isValidElement(inst)) ? "production" !== 'production' ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0; inst = new StatelessComponent(Component); + this._compositeType = CompositeTypes.StatelessFunctional; + } else { + if (isPureComponent(Component)) { + this._compositeType = CompositeTypes.PureClass; + } else { + this._compositeType = CompositeTypes.ImpureClass; + } } if ("production" !== 'production') { @@ -7225,26 +7509,35 @@ var ReactCompositeComponentMixin = { } } + if ("production" !== 'production') { + if (this._debugID) { + var callback = function (component) { + return ReactInstrumentation.debugTool.onComponentHasMounted(_this._debugID); + }; + transaction.getReactMountReady().enqueue(callback, this); + } + } + return markup; }, - _constructComponent: function (publicProps, publicContext, updateQueue) { + _constructComponent: function (doConstruct, publicProps, publicContext, updateQueue) { if ("production" !== 'production') { ReactCurrentOwner.current = this; try { - return this._constructComponentWithoutOwner(publicProps, publicContext, updateQueue); + return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue); } finally { ReactCurrentOwner.current = null; } } else { - return this._constructComponentWithoutOwner(publicProps, publicContext, updateQueue); + return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue); } }, - _constructComponentWithoutOwner: function (publicProps, publicContext, updateQueue) { + _constructComponentWithoutOwner: function (doConstruct, publicProps, publicContext, updateQueue) { var Component = this._currentElement.type; var instanceOrElement; - if (shouldConstruct(Component)) { + if (doConstruct) { if ("production" !== 'production') { if (this._debugID !== 0) { ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'ctor'); @@ -7548,7 +7841,6 @@ var ReactCompositeComponentMixin = { var willReceive = false; var nextContext; - var nextProps; // Determine if the context has changed or not if (this._context === nextUnmaskedContext) { @@ -7558,7 +7850,8 @@ var ReactCompositeComponentMixin = { willReceive = true; } - nextProps = nextParentElement.props; + var prevProps = prevParentElement.props; + var nextProps = nextParentElement.props; // Not a simple state update but a props update if (prevParentElement !== nextParentElement) { @@ -7585,16 +7878,22 @@ var ReactCompositeComponentMixin = { var nextState = this._processPendingState(nextProps, nextContext); var shouldUpdate = true; - if (!this._pendingForceUpdate && inst.shouldComponentUpdate) { - if ("production" !== 'production') { - if (this._debugID !== 0) { - ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'shouldComponentUpdate'); + if (!this._pendingForceUpdate) { + if (inst.shouldComponentUpdate) { + if ("production" !== 'production') { + if (this._debugID !== 0) { + ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'shouldComponentUpdate'); + } } - } - shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext); - if ("production" !== 'production') { - if (this._debugID !== 0) { - ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'shouldComponentUpdate'); + shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext); + if ("production" !== 'production') { + if (this._debugID !== 0) { + ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'shouldComponentUpdate'); + } + } + } else { + if (this._compositeType === CompositeTypes.PureClass) { + shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState); } } } @@ -7656,6 +7955,8 @@ var ReactCompositeComponentMixin = { * @private */ _performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) { + var _this2 = this; + var inst = this._instance; var hasComponentDidUpdate = Boolean(inst.componentDidUpdate); @@ -7697,6 +7998,15 @@ var ReactCompositeComponentMixin = { transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst); } } + + if ("production" !== 'production') { + if (this._debugID) { + var callback = function () { + return ReactInstrumentation.debugTool.onComponentHasUpdated(_this2._debugID); + }; + transaction.getReactMountReady().enqueue(callback, this); + } + } }, /** @@ -7782,11 +8092,15 @@ var ReactCompositeComponentMixin = { */ _renderValidatedComponent: function () { var renderedComponent; - ReactCurrentOwner.current = this; - try { + if ("production" !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) { + ReactCurrentOwner.current = this; + try { + renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext(); + } finally { + ReactCurrentOwner.current = null; + } + } else { renderedComponent = this._renderValidatedComponentWithoutOwnerOrContext(); - } finally { - ReactCurrentOwner.current = null; } !( // TODO: An `isValidNode` function would probably be more appropriate @@ -7849,7 +8163,7 @@ var ReactCompositeComponentMixin = { */ getPublicInstance: function () { var inst = this._instance; - if (inst instanceof StatelessComponent) { + if (this._compositeType === CompositeTypes.StatelessFunctional) { return null; } return inst; @@ -7867,7 +8181,7 @@ var ReactCompositeComponent = { }; module.exports = ReactCompositeComponent; -},{"./ReactComponentEnvironment":60,"./ReactCurrentOwner":63,"./ReactElement":88,"./ReactErrorUtils":91,"./ReactInstanceMap":99,"./ReactInstrumentation":100,"./ReactNodeTypes":106,"./ReactPropTypeLocations":110,"./ReactReconciler":113,"./checkReactTypeSpec":141,"./reactProdInvariant":162,"./shouldUpdateReactComponent":166,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],63:[function(require,module,exports){ +},{"./ReactComponentEnvironment":62,"./ReactCurrentOwner":65,"./ReactElement":90,"./ReactErrorUtils":93,"./ReactInstanceMap":101,"./ReactInstrumentation":102,"./ReactNodeTypes":108,"./ReactPropTypeLocations":112,"./ReactReconciler":117,"./checkReactTypeSpec":145,"./reactProdInvariant":166,"./shouldUpdateReactComponent":170,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/shallowEqual":25,"fbjs/lib/warning":26,"object-assign":27}],65:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -7899,7 +8213,7 @@ var ReactCurrentOwner = { }; module.exports = ReactCurrentOwner; -},{}],64:[function(require,module,exports){ +},{}],66:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -7929,7 +8243,7 @@ var warning = require('fbjs/lib/warning'); ReactDefaultInjection.inject(); -var React = { +var ReactDOM = { findDOMNode: findDOMNode, render: ReactMount.render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, @@ -8000,8 +8314,8 @@ if ("production" !== 'production') { } } -module.exports = React; -},{"./ReactDOMComponentTree":68,"./ReactDefaultInjection":87,"./ReactMount":103,"./ReactReconciler":113,"./ReactUpdates":118,"./ReactVersion":119,"./findDOMNode":145,"./getHostComponentFromComposite":152,"./renderSubtreeIntoContainer":163,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/warning":26}],65:[function(require,module,exports){ +module.exports = ReactDOM; +},{"./ReactDOMComponentTree":70,"./ReactDefaultInjection":89,"./ReactMount":105,"./ReactReconciler":117,"./ReactUpdates":122,"./ReactVersion":123,"./findDOMNode":149,"./getHostComponentFromComposite":156,"./renderSubtreeIntoContainer":167,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/warning":26}],67:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -8026,7 +8340,7 @@ var ReactDOMButton = { }; module.exports = ReactDOMButton; -},{"./DisabledInputUtils":41}],66:[function(require,module,exports){ +},{"./DisabledInputUtils":42}],68:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -8440,6 +8754,8 @@ ReactDOMComponent.Mixin = { * @return {string} The computed markup. */ mountComponent: function (transaction, hostParent, hostContainerInfo, context) { + var _this = this; + this._rootNodeID = globalIdCounter++; this._domID = hostContainerInfo._idCounter++; this._hostParent = hostParent; @@ -8595,6 +8911,15 @@ ReactDOMComponent.Mixin = { break; } + if ("production" !== 'production') { + if (this._debugID) { + var callback = function () { + return ReactInstrumentation.debugTool.onComponentHasMounted(_this._debugID); + }; + transaction.getReactMountReady().enqueue(callback, this); + } + } + return mountImage; }, @@ -8763,6 +9088,8 @@ ReactDOMComponent.Mixin = { * @overridable */ updateComponent: function (transaction, prevElement, nextElement, context) { + var _this2 = this; + var lastProps = prevElement.props; var nextProps = this._currentElement.props; @@ -8800,6 +9127,15 @@ ReactDOMComponent.Mixin = { // reconciliation transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this); } + + if ("production" !== 'production') { + if (this._debugID) { + var callback = function () { + return ReactInstrumentation.debugTool.onComponentHasUpdated(_this2._debugID); + }; + transaction.getReactMountReady().enqueue(callback, this); + } + } }, /** @@ -9030,7 +9366,7 @@ ReactDOMComponent.Mixin = { _assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin); module.exports = ReactDOMComponent; -},{"./AutoFocusUtils":28,"./CSSPropertyOperations":31,"./DOMLazyTree":35,"./DOMNamespaces":36,"./DOMProperty":37,"./DOMPropertyOperations":38,"./EventConstants":43,"./EventPluginHub":44,"./EventPluginRegistry":45,"./ReactBrowserEventEmitter":54,"./ReactComponentBrowserEnvironment":59,"./ReactDOMButton":65,"./ReactDOMComponentFlags":67,"./ReactDOMComponentTree":68,"./ReactDOMInput":75,"./ReactDOMOption":78,"./ReactDOMSelect":79,"./ReactDOMTextarea":82,"./ReactInstrumentation":100,"./ReactMultiChild":104,"./ReactServerRenderingTransaction":115,"./escapeTextContentForBrowser":144,"./isEventSupported":158,"./reactProdInvariant":162,"./validateDOMNesting":168,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16,"fbjs/lib/keyOf":20,"fbjs/lib/shallowEqual":25,"fbjs/lib/warning":26,"object-assign":27}],67:[function(require,module,exports){ +},{"./AutoFocusUtils":29,"./CSSPropertyOperations":32,"./DOMLazyTree":36,"./DOMNamespaces":37,"./DOMProperty":38,"./DOMPropertyOperations":39,"./EventConstants":44,"./EventPluginHub":45,"./EventPluginRegistry":46,"./ReactBrowserEventEmitter":55,"./ReactComponentBrowserEnvironment":61,"./ReactDOMButton":67,"./ReactDOMComponentFlags":69,"./ReactDOMComponentTree":70,"./ReactDOMInput":77,"./ReactDOMOption":80,"./ReactDOMSelect":81,"./ReactDOMTextarea":84,"./ReactInstrumentation":102,"./ReactMultiChild":106,"./ReactServerRenderingTransaction":119,"./escapeTextContentForBrowser":148,"./isEventSupported":162,"./reactProdInvariant":166,"./validateDOMNesting":172,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16,"fbjs/lib/keyOf":20,"fbjs/lib/shallowEqual":25,"fbjs/lib/warning":26,"object-assign":27}],69:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -9049,7 +9385,7 @@ var ReactDOMComponentFlags = { }; module.exports = ReactDOMComponentFlags; -},{}],68:[function(require,module,exports){ +},{}],70:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9238,7 +9574,7 @@ var ReactDOMComponentTree = { }; module.exports = ReactDOMComponentTree; -},{"./DOMProperty":37,"./ReactDOMComponentFlags":67,"./reactProdInvariant":162,"fbjs/lib/invariant":16}],69:[function(require,module,exports){ +},{"./DOMProperty":38,"./ReactDOMComponentFlags":69,"./reactProdInvariant":166,"fbjs/lib/invariant":16}],71:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9272,7 +9608,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) { } module.exports = ReactDOMContainerInfo; -},{"./validateDOMNesting":168}],70:[function(require,module,exports){ +},{"./validateDOMNesting":172}],72:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9340,7 +9676,7 @@ ReactDOMDebugTool.addDevtool(ReactDOMUnknownPropertyDevtool); ReactDOMDebugTool.addDevtool(ReactDOMNullInputValuePropDevtool); module.exports = ReactDOMDebugTool; -},{"./ReactDOMNullInputValuePropDevtool":77,"./ReactDOMUnknownPropertyDevtool":84,"./ReactDebugTool":85,"fbjs/lib/warning":26}],71:[function(require,module,exports){ +},{"./ReactDOMNullInputValuePropDevtool":79,"./ReactDOMUnknownPropertyDevtool":86,"./ReactDebugTool":87,"fbjs/lib/warning":26}],73:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -9401,7 +9737,7 @@ _assign(ReactDOMEmptyComponent.prototype, { }); module.exports = ReactDOMEmptyComponent; -},{"./DOMLazyTree":35,"./ReactDOMComponentTree":68,"object-assign":27}],72:[function(require,module,exports){ +},{"./DOMLazyTree":36,"./ReactDOMComponentTree":70,"object-assign":27}],74:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9578,7 +9914,7 @@ var ReactDOMFactories = mapObject({ }, createDOMFactory); module.exports = ReactDOMFactories; -},{"./ReactElement":88,"./ReactElementValidator":89,"fbjs/lib/mapObject":21}],73:[function(require,module,exports){ +},{"./ReactElement":90,"./ReactElementValidator":91,"fbjs/lib/mapObject":21}],75:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9597,7 +9933,7 @@ var ReactDOMFeatureFlags = { }; module.exports = ReactDOMFeatureFlags; -},{}],74:[function(require,module,exports){ +},{}],76:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9632,7 +9968,7 @@ var ReactDOMIDOperations = { }; module.exports = ReactDOMIDOperations; -},{"./DOMChildrenOperations":34,"./ReactDOMComponentTree":68}],75:[function(require,module,exports){ +},{"./DOMChildrenOperations":35,"./ReactDOMComponentTree":70}],77:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9701,7 +10037,10 @@ var ReactDOMInput = { var hostProps = _assign({ // Make sure we set .type before any other properties (setting .value // before .type means .value is lost in IE11 and below) - type: undefined + type: undefined, + // Make sure we set .step before .value (setting .value before .step + // means .value is rounded on mount, based upon step precision) + step: undefined }, DisabledInputUtils.getHostProps(inst, props), { defaultChecked: undefined, defaultValue: undefined, @@ -9877,7 +10216,7 @@ function _handleChange(event) { } module.exports = ReactDOMInput; -},{"./DOMPropertyOperations":38,"./DisabledInputUtils":41,"./LinkedValueUtils":51,"./ReactDOMComponentTree":68,"./ReactUpdates":118,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],76:[function(require,module,exports){ +},{"./DOMPropertyOperations":39,"./DisabledInputUtils":42,"./LinkedValueUtils":52,"./ReactDOMComponentTree":70,"./ReactUpdates":122,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],78:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9899,7 +10238,7 @@ if ("production" !== 'production') { } module.exports = { debugTool: debugTool }; -},{"./ReactDOMDebugTool":70}],77:[function(require,module,exports){ +},{"./ReactDOMDebugTool":72}],79:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9943,7 +10282,7 @@ var ReactDOMUnknownPropertyDevtool = { }; module.exports = ReactDOMUnknownPropertyDevtool; -},{"./ReactComponentTreeDevtool":61,"fbjs/lib/warning":26}],78:[function(require,module,exports){ +},{"./ReactComponentTreeDevtool":63,"fbjs/lib/warning":26}],80:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10067,7 +10406,7 @@ var ReactDOMOption = { }; module.exports = ReactDOMOption; -},{"./ReactChildren":56,"./ReactDOMComponentTree":68,"./ReactDOMSelect":79,"fbjs/lib/warning":26,"object-assign":27}],79:[function(require,module,exports){ +},{"./ReactChildren":57,"./ReactDOMComponentTree":70,"./ReactDOMSelect":81,"fbjs/lib/warning":26,"object-assign":27}],81:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10268,7 +10607,7 @@ function _handleChange(event) { } module.exports = ReactDOMSelect; -},{"./DisabledInputUtils":41,"./LinkedValueUtils":51,"./ReactDOMComponentTree":68,"./ReactUpdates":118,"fbjs/lib/warning":26,"object-assign":27}],80:[function(require,module,exports){ +},{"./DisabledInputUtils":42,"./LinkedValueUtils":52,"./ReactDOMComponentTree":70,"./ReactUpdates":122,"fbjs/lib/warning":26,"object-assign":27}],82:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10481,7 +10820,7 @@ var ReactDOMSelection = { }; module.exports = ReactDOMSelection; -},{"./getNodeForCharacterOffset":154,"./getTextContentAccessor":155,"fbjs/lib/ExecutionEnvironment":2}],81:[function(require,module,exports){ +},{"./getNodeForCharacterOffset":158,"./getTextContentAccessor":159,"fbjs/lib/ExecutionEnvironment":2}],83:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10653,7 +10992,7 @@ _assign(ReactDOMTextComponent.prototype, { }); module.exports = ReactDOMTextComponent; -},{"./DOMChildrenOperations":34,"./DOMLazyTree":35,"./ReactDOMComponentTree":68,"./ReactInstrumentation":100,"./escapeTextContentForBrowser":144,"./reactProdInvariant":162,"./validateDOMNesting":168,"fbjs/lib/invariant":16,"object-assign":27}],82:[function(require,module,exports){ +},{"./DOMChildrenOperations":35,"./DOMLazyTree":36,"./ReactDOMComponentTree":70,"./ReactInstrumentation":102,"./escapeTextContentForBrowser":148,"./reactProdInvariant":166,"./validateDOMNesting":172,"fbjs/lib/invariant":16,"object-assign":27}],84:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10809,7 +11148,7 @@ function _handleChange(event) { } module.exports = ReactDOMTextarea; -},{"./DisabledInputUtils":41,"./LinkedValueUtils":51,"./ReactDOMComponentTree":68,"./ReactUpdates":118,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],83:[function(require,module,exports){ +},{"./DisabledInputUtils":42,"./LinkedValueUtils":52,"./ReactDOMComponentTree":70,"./ReactUpdates":122,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],85:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -10946,7 +11285,7 @@ module.exports = { traverseTwoPhase: traverseTwoPhase, traverseEnterLeave: traverseEnterLeave }; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],84:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],86:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -11059,7 +11398,7 @@ var ReactDOMUnknownPropertyDevtool = { }; module.exports = ReactDOMUnknownPropertyDevtool; -},{"./DOMProperty":37,"./EventPluginRegistry":45,"./ReactComponentTreeDevtool":61,"fbjs/lib/warning":26}],85:[function(require,module,exports){ +},{"./DOMProperty":38,"./EventPluginRegistry":46,"./ReactComponentTreeDevtool":63,"fbjs/lib/warning":26}],87:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -11076,6 +11415,7 @@ module.exports = ReactDOMUnknownPropertyDevtool; var ReactInvalidSetStateWarningDevTool = require('./ReactInvalidSetStateWarningDevTool'); var ReactHostOperationHistoryDevtool = require('./ReactHostOperationHistoryDevtool'); var ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); +var ReactChildrenMutationWarningDevtool = require('./ReactChildrenMutationWarningDevtool'); var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment'); var performanceNow = require('fbjs/lib/performanceNow'); @@ -11108,6 +11448,8 @@ var currentTimerStartTime = null; var currentTimerNestedFlushDuration = null; var currentTimerType = null; +var lifeCycleTimerHasWarned = false; + function clearHistory() { ReactComponentTreeDevtool.purgeUnmountedComponents(); ReactHostOperationHistoryDevtool.clearHistory(); @@ -11165,7 +11507,10 @@ function beginLifeCycleTimer(debugID, timerType) { if (currentFlushNesting === 0) { return; } - "production" !== 'production' ? warning(!currentTimerType, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + if (currentTimerType && !lifeCycleTimerHasWarned) { + "production" !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + lifeCycleTimerHasWarned = true; + } currentTimerStartTime = performanceNow(); currentTimerNestedFlushDuration = 0; currentTimerDebugID = debugID; @@ -11176,7 +11521,10 @@ function endLifeCycleTimer(debugID, timerType) { if (currentFlushNesting === 0) { return; } - "production" !== 'production' ? warning(currentTimerType === timerType, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + if (currentTimerType !== timerType && !lifeCycleTimerHasWarned) { + "production" !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + lifeCycleTimerHasWarned = true; + } if (isProfiling) { currentFlushMeasurements.push({ timerType: timerType, @@ -11302,6 +11650,14 @@ var ReactDebugTool = { checkDebugID(debugID); emitEvent('onHostOperation', debugID, type, payload); }, + onComponentHasMounted: function (debugID) { + checkDebugID(debugID); + emitEvent('onComponentHasMounted', debugID); + }, + onComponentHasUpdated: function (debugID) { + checkDebugID(debugID); + emitEvent('onComponentHasUpdated', debugID); + }, onSetState: function () { emitEvent('onSetState'); }, @@ -11357,13 +11713,14 @@ var ReactDebugTool = { ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); ReactDebugTool.addDevtool(ReactComponentTreeDevtool); +ReactDebugTool.addDevtool(ReactChildrenMutationWarningDevtool); var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; if (/[?&]react_perf\b/.test(url)) { ReactDebugTool.beginProfiling(); } module.exports = ReactDebugTool; -},{"./ReactComponentTreeDevtool":61,"./ReactHostOperationHistoryDevtool":96,"./ReactInvalidSetStateWarningDevTool":101,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/performanceNow":24,"fbjs/lib/warning":26}],86:[function(require,module,exports){ +},{"./ReactChildrenMutationWarningDevtool":58,"./ReactComponentTreeDevtool":63,"./ReactHostOperationHistoryDevtool":98,"./ReactInvalidSetStateWarningDevTool":103,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/performanceNow":24,"fbjs/lib/warning":26}],88:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -11432,7 +11789,7 @@ var ReactDefaultBatchingStrategy = { }; module.exports = ReactDefaultBatchingStrategy; -},{"./ReactUpdates":118,"./Transaction":136,"fbjs/lib/emptyFunction":8,"object-assign":27}],87:[function(require,module,exports){ +},{"./ReactUpdates":122,"./Transaction":140,"fbjs/lib/emptyFunction":8,"object-assign":27}],89:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -11517,7 +11874,7 @@ function inject() { module.exports = { inject: inject }; -},{"./BeforeInputEventPlugin":29,"./ChangeEventPlugin":33,"./DefaultEventPluginOrder":40,"./EnterLeaveEventPlugin":42,"./HTMLDOMPropertyConfig":49,"./ReactComponentBrowserEnvironment":59,"./ReactDOMComponent":66,"./ReactDOMComponentTree":68,"./ReactDOMEmptyComponent":71,"./ReactDOMTextComponent":81,"./ReactDOMTreeTraversal":83,"./ReactDefaultBatchingStrategy":86,"./ReactEventListener":93,"./ReactInjection":97,"./ReactReconcileTransaction":112,"./SVGDOMPropertyConfig":120,"./SelectEventPlugin":121,"./SimpleEventPlugin":122}],88:[function(require,module,exports){ +},{"./BeforeInputEventPlugin":30,"./ChangeEventPlugin":34,"./DefaultEventPluginOrder":41,"./EnterLeaveEventPlugin":43,"./HTMLDOMPropertyConfig":50,"./ReactComponentBrowserEnvironment":61,"./ReactDOMComponent":68,"./ReactDOMComponentTree":70,"./ReactDOMEmptyComponent":73,"./ReactDOMTextComponent":83,"./ReactDOMTreeTraversal":85,"./ReactDefaultBatchingStrategy":88,"./ReactEventListener":95,"./ReactInjection":99,"./ReactReconcileTransaction":116,"./SVGDOMPropertyConfig":124,"./SelectEventPlugin":125,"./SimpleEventPlugin":126}],90:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -11617,6 +11974,7 @@ var ReactElement = function (type, key, ref, self, source, owner, props) { // This can be replaced with a WeakMap once they are implemented in // commonly used development environments. element._store = {}; + var shadowChildren = Array.isArray(props.children) ? props.children.slice(0) : props.children; // To make comparing ReactElements easier for testing purposes, we make // the validation flag non-enumerable (where possible, which should @@ -11636,6 +11994,12 @@ var ReactElement = function (type, key, ref, self, source, owner, props) { writable: false, value: self }); + Object.defineProperty(element, '_shadowChildren', { + configurable: false, + enumerable: false, + writable: false, + value: shadowChildren + }); // Two elements created in two different places should be considered // equal for testing purposes and therefore we hide it from enumeration. Object.defineProperty(element, '_source', { @@ -11647,6 +12011,7 @@ var ReactElement = function (type, key, ref, self, source, owner, props) { } else { element._store.validated = false; element._self = self; + element._shadowChildren = shadowChildren; element._source = source; } if (Object.freeze) { @@ -11870,7 +12235,7 @@ ReactElement.isValidElement = function (object) { ReactElement.REACT_ELEMENT_TYPE = REACT_ELEMENT_TYPE; module.exports = ReactElement; -},{"./ReactCurrentOwner":63,"./canDefineProperty":140,"fbjs/lib/warning":26,"object-assign":27}],89:[function(require,module,exports){ +},{"./ReactCurrentOwner":65,"./canDefineProperty":144,"fbjs/lib/warning":26,"object-assign":27}],91:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -12097,7 +12462,7 @@ var ReactElementValidator = { }; module.exports = ReactElementValidator; -},{"./ReactComponentTreeDevtool":61,"./ReactCurrentOwner":63,"./ReactElement":88,"./ReactPropTypeLocations":110,"./canDefineProperty":140,"./checkReactTypeSpec":141,"./getIteratorFn":153,"fbjs/lib/warning":26}],90:[function(require,module,exports){ +},{"./ReactComponentTreeDevtool":63,"./ReactCurrentOwner":65,"./ReactElement":90,"./ReactPropTypeLocations":112,"./canDefineProperty":144,"./checkReactTypeSpec":145,"./getIteratorFn":157,"fbjs/lib/warning":26}],92:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -12128,7 +12493,7 @@ var ReactEmptyComponent = { ReactEmptyComponent.injection = ReactEmptyComponentInjection; module.exports = ReactEmptyComponent; -},{}],91:[function(require,module,exports){ +},{}],93:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12205,7 +12570,7 @@ if ("production" !== 'production') { } module.exports = ReactErrorUtils; -},{}],92:[function(require,module,exports){ +},{}],94:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12239,7 +12604,7 @@ var ReactEventEmitterMixin = { }; module.exports = ReactEventEmitterMixin; -},{"./EventPluginHub":44}],93:[function(require,module,exports){ +},{"./EventPluginHub":45}],95:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12397,7 +12762,7 @@ var ReactEventListener = { }; module.exports = ReactEventListener; -},{"./PooledClass":52,"./ReactDOMComponentTree":68,"./ReactUpdates":118,"./getEventTarget":151,"fbjs/lib/EventListener":1,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/getUnboundedScrollPosition":13,"object-assign":27}],94:[function(require,module,exports){ +},{"./PooledClass":53,"./ReactDOMComponentTree":70,"./ReactUpdates":122,"./getEventTarget":155,"fbjs/lib/EventListener":1,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/getUnboundedScrollPosition":13,"object-assign":27}],96:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12420,7 +12785,7 @@ var ReactFeatureFlags = { }; module.exports = ReactFeatureFlags; -},{}],95:[function(require,module,exports){ +},{}],97:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -12497,7 +12862,7 @@ var ReactHostComponent = { }; module.exports = ReactHostComponent; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16,"object-assign":27}],96:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16,"object-assign":27}],98:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -12535,7 +12900,7 @@ var ReactHostOperationHistoryDevtool = { }; module.exports = ReactHostOperationHistoryDevtool; -},{}],97:[function(require,module,exports){ +},{}],99:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12572,7 +12937,7 @@ var ReactInjection = { }; module.exports = ReactInjection; -},{"./DOMProperty":37,"./EventPluginHub":44,"./EventPluginUtils":46,"./ReactBrowserEventEmitter":54,"./ReactClass":57,"./ReactComponentEnvironment":60,"./ReactEmptyComponent":90,"./ReactHostComponent":95,"./ReactUpdates":118}],98:[function(require,module,exports){ +},{"./DOMProperty":38,"./EventPluginHub":45,"./EventPluginUtils":47,"./ReactBrowserEventEmitter":55,"./ReactClass":59,"./ReactComponentEnvironment":62,"./ReactEmptyComponent":92,"./ReactHostComponent":97,"./ReactUpdates":122}],100:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12697,7 +13062,7 @@ var ReactInputSelection = { }; module.exports = ReactInputSelection; -},{"./ReactDOMSelection":80,"fbjs/lib/containsNode":5,"fbjs/lib/focusNode":10,"fbjs/lib/getActiveElement":11}],99:[function(require,module,exports){ +},{"./ReactDOMSelection":82,"fbjs/lib/containsNode":5,"fbjs/lib/focusNode":10,"fbjs/lib/getActiveElement":11}],101:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12746,7 +13111,7 @@ var ReactInstanceMap = { }; module.exports = ReactInstanceMap; -},{}],100:[function(require,module,exports){ +},{}],102:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -12768,7 +13133,7 @@ if ("production" !== 'production') { } module.exports = { debugTool: debugTool }; -},{"./ReactDebugTool":85}],101:[function(require,module,exports){ +},{"./ReactDebugTool":87}],103:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -12805,7 +13170,7 @@ var ReactInvalidSetStateWarningDevTool = { }; module.exports = ReactInvalidSetStateWarningDevTool; -},{"fbjs/lib/warning":26}],102:[function(require,module,exports){ +},{"fbjs/lib/warning":26}],104:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12856,7 +13221,7 @@ var ReactMarkupChecksum = { }; module.exports = ReactMarkupChecksum; -},{"./adler32":139}],103:[function(require,module,exports){ +},{"./adler32":143}],105:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -13356,7 +13721,7 @@ var ReactMount = { }; module.exports = ReactMount; -},{"./DOMLazyTree":35,"./DOMProperty":37,"./ReactBrowserEventEmitter":54,"./ReactCurrentOwner":63,"./ReactDOMComponentTree":68,"./ReactDOMContainerInfo":69,"./ReactDOMFeatureFlags":73,"./ReactElement":88,"./ReactFeatureFlags":94,"./ReactInstanceMap":99,"./ReactInstrumentation":100,"./ReactMarkupChecksum":102,"./ReactReconciler":113,"./ReactUpdateQueue":117,"./ReactUpdates":118,"./instantiateReactComponent":157,"./reactProdInvariant":162,"./setInnerHTML":164,"./shouldUpdateReactComponent":166,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],104:[function(require,module,exports){ +},{"./DOMLazyTree":36,"./DOMProperty":38,"./ReactBrowserEventEmitter":55,"./ReactCurrentOwner":65,"./ReactDOMComponentTree":70,"./ReactDOMContainerInfo":71,"./ReactDOMFeatureFlags":75,"./ReactElement":90,"./ReactFeatureFlags":96,"./ReactInstanceMap":101,"./ReactInstrumentation":102,"./ReactMarkupChecksum":104,"./ReactReconciler":117,"./ReactUpdateQueue":121,"./ReactUpdates":122,"./instantiateReactComponent":161,"./reactProdInvariant":166,"./setInnerHTML":168,"./shouldUpdateReactComponent":170,"fbjs/lib/emptyObject":9,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],106:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -13559,7 +13924,7 @@ var ReactMultiChild = { return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context); }, - _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, removedNodes, transaction, context) { + _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) { var nextChildren; if ("production" !== 'production') { if (this._currentElement) { @@ -13569,12 +13934,12 @@ var ReactMultiChild = { } finally { ReactCurrentOwner.current = null; } - ReactChildReconciler.updateChildren(prevChildren, nextChildren, removedNodes, transaction, context); + ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context); return nextChildren; } } nextChildren = flattenChildren(nextNestedChildrenElements); - ReactChildReconciler.updateChildren(prevChildren, nextChildren, removedNodes, transaction, context); + ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context); return nextChildren; }, @@ -13671,7 +14036,8 @@ var ReactMultiChild = { _updateChildren: function (nextNestedChildrenElements, transaction, context) { var prevChildren = this._renderedChildren; var removedNodes = {}; - var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, removedNodes, transaction, context); + var mountImages = []; + var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context); if (!nextChildren && !prevChildren) { return; } @@ -13679,8 +14045,10 @@ var ReactMultiChild = { var name; // `nextIndex` will increment for each child in `nextChildren`, but // `lastIndex` will be the last index visited in `prevChildren`. - var lastIndex = 0; var nextIndex = 0; + var lastIndex = 0; + // `nextMountIndex` will increment for each newly mounted child. + var nextMountIndex = 0; var lastPlacedNode = null; for (name in nextChildren) { if (!nextChildren.hasOwnProperty(name)) { @@ -13699,7 +14067,8 @@ var ReactMultiChild = { // The `removedNodes` loop below will actually remove the child. } // The child must be instantiated before it's mounted. - updates = enqueue(updates, this._mountChildAtIndex(nextChild, lastPlacedNode, nextIndex, transaction, context)); + updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages[nextMountIndex], lastPlacedNode, nextIndex, transaction, context)); + nextMountIndex++; } nextIndex++; lastPlacedNode = ReactReconciler.getHostNode(nextChild); @@ -13782,8 +14151,7 @@ var ReactMultiChild = { * @param {ReactReconcileTransaction} transaction * @private */ - _mountChildAtIndex: function (child, afterNode, index, transaction, context) { - var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context); + _mountChildAtIndex: function (child, mountImage, afterNode, index, transaction, context) { child._mountIndex = index; return this.createChild(child, afterNode, mountImage); }, @@ -13807,7 +14175,7 @@ var ReactMultiChild = { }; module.exports = ReactMultiChild; -},{"./ReactChildReconciler":55,"./ReactComponentEnvironment":60,"./ReactCurrentOwner":63,"./ReactInstanceMap":99,"./ReactInstrumentation":100,"./ReactMultiChildUpdateTypes":105,"./ReactReconciler":113,"./flattenChildren":146,"./reactProdInvariant":162,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16}],105:[function(require,module,exports){ +},{"./ReactChildReconciler":56,"./ReactComponentEnvironment":62,"./ReactCurrentOwner":65,"./ReactInstanceMap":101,"./ReactInstrumentation":102,"./ReactMultiChildUpdateTypes":107,"./ReactReconciler":117,"./flattenChildren":150,"./reactProdInvariant":166,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16}],107:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -13840,7 +14208,7 @@ var ReactMultiChildUpdateTypes = keyMirror({ }); module.exports = ReactMultiChildUpdateTypes; -},{"fbjs/lib/keyMirror":19}],106:[function(require,module,exports){ +},{"fbjs/lib/keyMirror":19}],108:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -13881,7 +14249,7 @@ var ReactNodeTypes = { }; module.exports = ReactNodeTypes; -},{"./ReactElement":88,"./reactProdInvariant":162,"fbjs/lib/invariant":16}],107:[function(require,module,exports){ +},{"./ReactElement":90,"./reactProdInvariant":166,"fbjs/lib/invariant":16}],109:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -13978,7 +14346,7 @@ var ReactNoopUpdateQueue = { }; module.exports = ReactNoopUpdateQueue; -},{"fbjs/lib/warning":26}],108:[function(require,module,exports){ +},{"fbjs/lib/warning":26}],110:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14073,7 +14441,7 @@ var ReactOwner = { }; module.exports = ReactOwner; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],109:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],111:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14098,7 +14466,7 @@ if ("production" !== 'production') { } module.exports = ReactPropTypeLocationNames; -},{}],110:[function(require,module,exports){ +},{}],112:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14121,7 +14489,7 @@ var ReactPropTypeLocations = keyMirror({ }); module.exports = ReactPropTypeLocations; -},{"fbjs/lib/keyMirror":19}],111:[function(require,module,exports){ +},{"fbjs/lib/keyMirror":19}],113:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14137,9 +14505,11 @@ module.exports = ReactPropTypeLocations; var ReactElement = require('./ReactElement'); var ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames'); +var ReactPropTypesSecret = require('./ReactPropTypesSecret'); var emptyFunction = require('fbjs/lib/emptyFunction'); var getIteratorFn = require('./getIteratorFn'); +var warning = require('fbjs/lib/warning'); /** * Collection of methods that allow declaration and validation of props that are @@ -14229,9 +14599,21 @@ function is(x, y) { /*eslint-enable no-self-compare*/ function createChainableTypeChecker(validate) { - function checkType(isRequired, props, propName, componentName, location, propFullName) { + if ("production" !== 'production') { + var manualPropTypeCallCache = {}; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; + if ("production" !== 'production') { + if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') { + var cacheKey = componentName + ':' + propName; + if (!manualPropTypeCallCache[cacheKey]) { + "production" !== '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 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; + manualPropTypeCallCache[cacheKey] = true; + } + } + } if (props[propName] == null) { var locationName = ReactPropTypeLocationNames[location]; if (isRequired) { @@ -14250,7 +14632,7 @@ function createChainableTypeChecker(validate) { } function createPrimitiveTypeChecker(expectedType) { - function validate(props, propName, componentName, location, propFullName) { + function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { @@ -14283,7 +14665,7 @@ function createArrayOfTypeChecker(typeChecker) { return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { - var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } @@ -14295,9 +14677,11 @@ function createArrayOfTypeChecker(typeChecker) { function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { - if (!ReactElement.isValidElement(props[propName])) { + var propValue = props[propName]; + if (!ReactElement.isValidElement(propValue)) { var locationName = ReactPropTypeLocationNames[location]; - return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); + var propType = getPropType(propValue); + return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); } return null; } @@ -14319,9 +14703,8 @@ function createInstanceTypeChecker(expectedClass) { function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { - return createChainableTypeChecker(function () { - return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); - }); + "production" !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { @@ -14352,7 +14735,7 @@ function createObjectOfTypeChecker(typeChecker) { } for (var key in propValue) { if (propValue.hasOwnProperty(key)) { - var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error instanceof Error) { return error; } @@ -14365,15 +14748,14 @@ function createObjectOfTypeChecker(typeChecker) { function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { - return createChainableTypeChecker(function () { - return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); - }); + "production" !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; - if (checker(props, propName, componentName, location, propFullName) == null) { + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { return null; } } @@ -14408,7 +14790,7 @@ function createShapeTypeChecker(shapeTypes) { if (!checker) { continue; } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key); + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } @@ -14525,7 +14907,67 @@ function getClassName(propValue) { } module.exports = ReactPropTypes; -},{"./ReactElement":88,"./ReactPropTypeLocationNames":109,"./getIteratorFn":153,"fbjs/lib/emptyFunction":8}],112:[function(require,module,exports){ +},{"./ReactElement":90,"./ReactPropTypeLocationNames":111,"./ReactPropTypesSecret":114,"./getIteratorFn":157,"fbjs/lib/emptyFunction":8,"fbjs/lib/warning":26}],114:[function(require,module,exports){ +/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactPropTypesSecret + */ + +'use strict'; + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; +},{}],115:[function(require,module,exports){ +/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactPureComponent + */ + +'use strict'; + +var _assign = require('object-assign'); + +var ReactComponent = require('./ReactComponent'); +var ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue'); + +var emptyObject = require('fbjs/lib/emptyObject'); + +/** + * Base class helpers for the updating state of a component. + */ +function ReactPureComponent(props, context, updater) { + // Duplicated from ReactComponent. + this.props = props; + this.context = context; + this.refs = emptyObject; + // We initialize the default updater but the real one gets injected by the + // renderer. + this.updater = updater || ReactNoopUpdateQueue; +} + +function ComponentDummy() {} +ComponentDummy.prototype = ReactComponent.prototype; +ReactPureComponent.prototype = new ComponentDummy(); +ReactPureComponent.prototype.constructor = ReactPureComponent; +// Avoid an extra prototype jump for these methods. +_assign(ReactPureComponent.prototype, ReactComponent.prototype); +ReactPureComponent.prototype.isPureReactComponent = true; + +module.exports = ReactPureComponent; +},{"./ReactComponent":60,"./ReactNoopUpdateQueue":109,"fbjs/lib/emptyObject":9,"object-assign":27}],116:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14704,7 +15146,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin); PooledClass.addPoolingTo(ReactReconcileTransaction); module.exports = ReactReconcileTransaction; -},{"./CallbackQueue":32,"./PooledClass":52,"./ReactBrowserEventEmitter":54,"./ReactInputSelection":98,"./ReactInstrumentation":100,"./ReactUpdateQueue":117,"./Transaction":136,"object-assign":27}],113:[function(require,module,exports){ +},{"./CallbackQueue":33,"./PooledClass":53,"./ReactBrowserEventEmitter":55,"./ReactInputSelection":100,"./ReactInstrumentation":102,"./ReactUpdateQueue":121,"./Transaction":140,"object-assign":27}],117:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14718,12 +15160,10 @@ module.exports = ReactReconcileTransaction; 'use strict'; -var _prodInvariant = require('./reactProdInvariant'); - var ReactRef = require('./ReactRef'); var ReactInstrumentation = require('./ReactInstrumentation'); -var invariant = require('fbjs/lib/invariant'); +var warning = require('fbjs/lib/warning'); /** * Helper to call ReactRef.attachRefs with this composite component, split out @@ -14860,7 +15300,7 @@ var ReactReconciler = { if (internalInstance._updateBatchNumber !== updateBatchNumber) { // The component's enqueued batch number should always be the current // batch or the following one. - !(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1) ? "production" !== 'production' ? invariant(false, 'performUpdateIfNecessary: Unexpected batch number (current %s, pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : _prodInvariant('121', updateBatchNumber, internalInstance._updateBatchNumber) : void 0; + "production" !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0; return; } if ("production" !== 'production') { @@ -14881,7 +15321,7 @@ var ReactReconciler = { }; module.exports = ReactReconciler; -},{"./ReactInstrumentation":100,"./ReactRef":114,"./reactProdInvariant":162,"fbjs/lib/invariant":16}],114:[function(require,module,exports){ +},{"./ReactInstrumentation":102,"./ReactRef":118,"fbjs/lib/warning":26}],118:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14945,7 +15385,9 @@ ReactRef.shouldUpdateRefs = function (prevElement, nextElement) { return( // This has a few false positives w/r/t empty components. - prevEmpty || nextEmpty || nextElement._owner !== prevElement._owner || nextElement.ref !== prevElement.ref + prevEmpty || nextEmpty || nextElement.ref !== prevElement.ref || + // If owner changes but we have an unchanged function ref, don't update refs + typeof nextElement.ref === 'string' && nextElement._owner !== prevElement._owner ); }; @@ -14960,7 +15402,7 @@ ReactRef.detachRefs = function (instance, element) { }; module.exports = ReactRef; -},{"./ReactOwner":108}],115:[function(require,module,exports){ +},{"./ReactOwner":110}],119:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -15051,7 +15493,7 @@ _assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin); PooledClass.addPoolingTo(ReactServerRenderingTransaction); module.exports = ReactServerRenderingTransaction; -},{"./PooledClass":52,"./ReactInstrumentation":100,"./ReactServerUpdateQueue":116,"./Transaction":136,"object-assign":27}],116:[function(require,module,exports){ +},{"./PooledClass":53,"./ReactInstrumentation":102,"./ReactServerUpdateQueue":120,"./Transaction":140,"object-assign":27}],120:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -15193,7 +15635,7 @@ var ReactServerUpdateQueue = function () { }(); module.exports = ReactServerUpdateQueue; -},{"./ReactUpdateQueue":117,"./Transaction":136,"fbjs/lib/warning":26}],117:[function(require,module,exports){ +},{"./ReactUpdateQueue":121,"./Transaction":140,"fbjs/lib/warning":26}],121:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -15238,10 +15680,11 @@ function getInternalInstanceReadyForUpdate(publicInstance, callerName) { var internalInstance = ReactInstanceMap.get(publicInstance); if (!internalInstance) { if ("production" !== 'production') { + var ctor = publicInstance.constructor; // Only warn when we have a callerName. Otherwise we should be silent. // We're probably calling from enqueueCallback. We don't want to warn // there because we already warned for the corresponding lifecycle method. - "production" !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor.displayName) : void 0; + "production" !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0; } return null; } @@ -15419,7 +15862,7 @@ var ReactUpdateQueue = { }; module.exports = ReactUpdateQueue; -},{"./ReactCurrentOwner":63,"./ReactInstanceMap":99,"./ReactInstrumentation":100,"./ReactUpdates":118,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],118:[function(require,module,exports){ +},{"./ReactCurrentOwner":65,"./ReactInstanceMap":101,"./ReactInstrumentation":102,"./ReactUpdates":122,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],122:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -15671,7 +16114,7 @@ var ReactUpdates = { }; module.exports = ReactUpdates; -},{"./CallbackQueue":32,"./PooledClass":52,"./ReactFeatureFlags":94,"./ReactReconciler":113,"./Transaction":136,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"object-assign":27}],119:[function(require,module,exports){ +},{"./CallbackQueue":33,"./PooledClass":53,"./ReactFeatureFlags":96,"./ReactReconciler":117,"./Transaction":140,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"object-assign":27}],123:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -15685,8 +16128,8 @@ module.exports = ReactUpdates; 'use strict'; -module.exports = '15.2.1'; -},{}],120:[function(require,module,exports){ +module.exports = '15.3.0'; +},{}],124:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -15952,6 +16395,8 @@ var ATTRS = { xlinkTitle: 'xlink:title', xlinkType: 'xlink:type', xmlBase: 'xml:base', + xmlns: 0, + xmlnsXlink: 'xmlns:xlink', xmlLang: 'xml:lang', xmlSpace: 'xml:space', y: 0, @@ -15987,7 +16432,7 @@ Object.keys(ATTRS).forEach(function (key) { }); module.exports = SVGDOMPropertyConfig; -},{}],121:[function(require,module,exports){ +},{}],125:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16184,7 +16629,7 @@ var SelectEventPlugin = { }; module.exports = SelectEventPlugin; -},{"./EventConstants":43,"./EventPropagators":47,"./ReactDOMComponentTree":68,"./ReactInputSelection":98,"./SyntheticEvent":127,"./isTextInputElement":159,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/getActiveElement":11,"fbjs/lib/keyOf":20,"fbjs/lib/shallowEqual":25}],122:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPropagators":48,"./ReactDOMComponentTree":70,"./ReactInputSelection":100,"./SyntheticEvent":131,"./isTextInputElement":163,"fbjs/lib/ExecutionEnvironment":2,"fbjs/lib/getActiveElement":11,"fbjs/lib/keyOf":20,"fbjs/lib/shallowEqual":25}],126:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16672,6 +17117,10 @@ for (var type in topLevelEventsToDispatchConfig) { var ON_CLICK_KEY = keyOf({ onClick: null }); var onClickListeners = {}; +function getDictionaryKey(inst) { + return '.' + inst._rootNodeID; +} + var SimpleEventPlugin = { eventTypes: eventTypes, @@ -16795,26 +17244,26 @@ var SimpleEventPlugin = { // fire. The workaround for this bug involves attaching an empty click // listener on the target node. if (registrationName === ON_CLICK_KEY) { - var id = inst._rootNodeID; + var key = getDictionaryKey(inst); var node = ReactDOMComponentTree.getNodeFromInstance(inst); - if (!onClickListeners[id]) { - onClickListeners[id] = EventListener.listen(node, 'click', emptyFunction); + if (!onClickListeners[key]) { + onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction); } } }, willDeleteListener: function (inst, registrationName) { if (registrationName === ON_CLICK_KEY) { - var id = inst._rootNodeID; - onClickListeners[id].remove(); - delete onClickListeners[id]; + var key = getDictionaryKey(inst); + onClickListeners[key].remove(); + delete onClickListeners[key]; } } }; module.exports = SimpleEventPlugin; -},{"./EventConstants":43,"./EventPropagators":47,"./ReactDOMComponentTree":68,"./SyntheticAnimationEvent":123,"./SyntheticClipboardEvent":124,"./SyntheticDragEvent":126,"./SyntheticEvent":127,"./SyntheticFocusEvent":128,"./SyntheticKeyboardEvent":130,"./SyntheticMouseEvent":131,"./SyntheticTouchEvent":132,"./SyntheticTransitionEvent":133,"./SyntheticUIEvent":134,"./SyntheticWheelEvent":135,"./getEventCharCode":148,"./reactProdInvariant":162,"fbjs/lib/EventListener":1,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16,"fbjs/lib/keyOf":20}],123:[function(require,module,exports){ +},{"./EventConstants":44,"./EventPropagators":48,"./ReactDOMComponentTree":70,"./SyntheticAnimationEvent":127,"./SyntheticClipboardEvent":128,"./SyntheticDragEvent":130,"./SyntheticEvent":131,"./SyntheticFocusEvent":132,"./SyntheticKeyboardEvent":134,"./SyntheticMouseEvent":135,"./SyntheticTouchEvent":136,"./SyntheticTransitionEvent":137,"./SyntheticUIEvent":138,"./SyntheticWheelEvent":139,"./getEventCharCode":152,"./reactProdInvariant":166,"fbjs/lib/EventListener":1,"fbjs/lib/emptyFunction":8,"fbjs/lib/invariant":16,"fbjs/lib/keyOf":20}],127:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16854,7 +17303,7 @@ function SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, na SyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface); module.exports = SyntheticAnimationEvent; -},{"./SyntheticEvent":127}],124:[function(require,module,exports){ +},{"./SyntheticEvent":131}],128:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16893,7 +17342,7 @@ function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, na SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface); module.exports = SyntheticClipboardEvent; -},{"./SyntheticEvent":127}],125:[function(require,module,exports){ +},{"./SyntheticEvent":131}],129:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16930,7 +17379,7 @@ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; -},{"./SyntheticEvent":127}],126:[function(require,module,exports){ +},{"./SyntheticEvent":131}],130:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16967,7 +17416,7 @@ function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeE SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface); module.exports = SyntheticDragEvent; -},{"./SyntheticMouseEvent":131}],127:[function(require,module,exports){ +},{"./SyntheticMouseEvent":135}],131:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17228,7 +17677,7 @@ function getPooledWarningPropertyDefinition(propName, getVal) { "production" !== '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; } } -},{"./PooledClass":52,"fbjs/lib/emptyFunction":8,"fbjs/lib/warning":26,"object-assign":27}],128:[function(require,module,exports){ +},{"./PooledClass":53,"fbjs/lib/emptyFunction":8,"fbjs/lib/warning":26,"object-assign":27}],132:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17265,7 +17714,7 @@ function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface); module.exports = SyntheticFocusEvent; -},{"./SyntheticUIEvent":134}],129:[function(require,module,exports){ +},{"./SyntheticUIEvent":138}],133:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17303,7 +17752,7 @@ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; -},{"./SyntheticEvent":127}],130:[function(require,module,exports){ +},{"./SyntheticEvent":131}],134:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17388,7 +17837,7 @@ function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nat SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface); module.exports = SyntheticKeyboardEvent; -},{"./SyntheticUIEvent":134,"./getEventCharCode":148,"./getEventKey":149,"./getEventModifierState":150}],131:[function(require,module,exports){ +},{"./SyntheticUIEvent":138,"./getEventCharCode":152,"./getEventKey":153,"./getEventModifierState":154}],135:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17461,7 +17910,7 @@ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; -},{"./SyntheticUIEvent":134,"./ViewportMetrics":137,"./getEventModifierState":150}],132:[function(require,module,exports){ +},{"./SyntheticUIEvent":138,"./ViewportMetrics":141,"./getEventModifierState":154}],136:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17507,7 +17956,7 @@ function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface); module.exports = SyntheticTouchEvent; -},{"./SyntheticUIEvent":134,"./getEventModifierState":150}],133:[function(require,module,exports){ +},{"./SyntheticUIEvent":138,"./getEventModifierState":154}],137:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17547,7 +17996,7 @@ function SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, n SyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface); module.exports = SyntheticTransitionEvent; -},{"./SyntheticEvent":127}],134:[function(require,module,exports){ +},{"./SyntheticEvent":131}],138:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17607,7 +18056,7 @@ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEve SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; -},{"./SyntheticEvent":127,"./getEventTarget":151}],135:[function(require,module,exports){ +},{"./SyntheticEvent":131,"./getEventTarget":155}],139:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17662,7 +18111,7 @@ function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface); module.exports = SyntheticWheelEvent; -},{"./SyntheticMouseEvent":131}],136:[function(require,module,exports){ +},{"./SyntheticMouseEvent":135}],140:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17896,7 +18345,7 @@ var Transaction = { }; module.exports = Transaction; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],137:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],141:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17924,7 +18373,7 @@ var ViewportMetrics = { }; module.exports = ViewportMetrics; -},{}],138:[function(require,module,exports){ +},{}],142:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -17983,7 +18432,7 @@ function accumulateInto(current, next) { } module.exports = accumulateInto; -},{"./reactProdInvariant":162,"fbjs/lib/invariant":16}],139:[function(require,module,exports){ +},{"./reactProdInvariant":166,"fbjs/lib/invariant":16}],143:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18028,7 +18477,7 @@ function adler32(data) { } module.exports = adler32; -},{}],140:[function(require,module,exports){ +},{}],144:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18053,7 +18502,8 @@ if ("production" !== 'production') { } module.exports = canDefineProperty; -},{}],141:[function(require,module,exports){ +},{}],145:[function(require,module,exports){ +(function (process){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18070,10 +18520,22 @@ module.exports = canDefineProperty; var _prodInvariant = require('./reactProdInvariant'); var ReactPropTypeLocationNames = require('./ReactPropTypeLocationNames'); +var ReactPropTypesSecret = require('./ReactPropTypesSecret'); var invariant = require('fbjs/lib/invariant'); var warning = require('fbjs/lib/warning'); +var ReactComponentTreeDevtool; + +if (typeof process !== 'undefined' && process.env && "production" === 'test') { + // Temporary hack. + // Inline requires don't work well with Jest: + // https://github.com/facebook/react/issues/7240 + // Remove the inline requires when we don't need them anymore: + // https://github.com/facebook/react/pull/7178 + ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); +} + var loggedTypeFailures = {}; /** @@ -18099,7 +18561,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element, // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. !(typeof typeSpecs[typeSpecName] === 'function') ? "production" !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0; - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location); + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; } @@ -18112,7 +18574,9 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element, var componentStackInfo = ''; if ("production" !== 'production') { - var ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + if (!ReactComponentTreeDevtool) { + ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + } if (debugID !== null) { componentStackInfo = ReactComponentTreeDevtool.getStackAddendumByID(debugID); } else if (element !== null) { @@ -18127,7 +18591,8 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element, } module.exports = checkReactTypeSpec; -},{"./ReactComponentTreeDevtool":61,"./ReactPropTypeLocationNames":109,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],142:[function(require,module,exports){ +}).call(this,require('_process')) +},{"./ReactComponentTreeDevtool":63,"./ReactPropTypeLocationNames":111,"./ReactPropTypesSecret":114,"./reactProdInvariant":166,"_process":28,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],146:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18160,7 +18625,7 @@ var createMicrosoftUnsafeLocalFunction = function (func) { }; module.exports = createMicrosoftUnsafeLocalFunction; -},{}],143:[function(require,module,exports){ +},{}],147:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18240,7 +18705,7 @@ function dangerousStyleValue(name, value, component) { } module.exports = dangerousStyleValue; -},{"./CSSProperty":30,"fbjs/lib/warning":26}],144:[function(require,module,exports){ +},{"./CSSProperty":31,"fbjs/lib/warning":26}],148:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -18363,7 +18828,7 @@ function escapeTextContentForBrowser(text) { } module.exports = escapeTextContentForBrowser; -},{}],145:[function(require,module,exports){ +},{}],149:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18424,7 +18889,8 @@ function findDOMNode(componentOrElement) { } module.exports = findDOMNode; -},{"./ReactCurrentOwner":63,"./ReactDOMComponentTree":68,"./ReactInstanceMap":99,"./getHostComponentFromComposite":152,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],146:[function(require,module,exports){ +},{"./ReactCurrentOwner":65,"./ReactDOMComponentTree":70,"./ReactInstanceMap":101,"./getHostComponentFromComposite":156,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],150:[function(require,module,exports){ +(function (process){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18443,6 +18909,17 @@ var KeyEscapeUtils = require('./KeyEscapeUtils'); var traverseAllChildren = require('./traverseAllChildren'); var warning = require('fbjs/lib/warning'); +var ReactComponentTreeDevtool; + +if (typeof process !== 'undefined' && process.env && "production" === 'test') { + // Temporary hack. + // Inline requires don't work well with Jest: + // https://github.com/facebook/react/issues/7240 + // Remove the inline requires when we don't need them anymore: + // https://github.com/facebook/react/pull/7178 + ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); +} + /** * @param {function} traverseContext Context passed through traversal. * @param {?ReactComponent} child React child component. @@ -18455,7 +18932,9 @@ function flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID var result = traverseContext; var keyUnique = result[name] === undefined; if ("production" !== 'production') { - var ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + if (!ReactComponentTreeDevtool) { + ReactComponentTreeDevtool = require('./ReactComponentTreeDevtool'); + } "production" !== 'production' ? warning(keyUnique, '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), ReactComponentTreeDevtool.getStackAddendumByID(selfDebugID)) : void 0; } if (keyUnique && child != null) { @@ -18486,7 +18965,8 @@ function flattenChildren(children, selfDebugID) { } module.exports = flattenChildren; -},{"./KeyEscapeUtils":50,"./ReactComponentTreeDevtool":61,"./traverseAllChildren":167,"fbjs/lib/warning":26}],147:[function(require,module,exports){ +}).call(this,require('_process')) +},{"./KeyEscapeUtils":51,"./ReactComponentTreeDevtool":63,"./traverseAllChildren":171,"_process":28,"fbjs/lib/warning":26}],151:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18518,7 +18998,7 @@ function forEachAccumulated(arr, cb, scope) { } module.exports = forEachAccumulated; -},{}],148:[function(require,module,exports){ +},{}],152:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18569,7 +19049,7 @@ function getEventCharCode(nativeEvent) { } module.exports = getEventCharCode; -},{}],149:[function(require,module,exports){ +},{}],153:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18672,7 +19152,7 @@ function getEventKey(nativeEvent) { } module.exports = getEventKey; -},{"./getEventCharCode":148}],150:[function(require,module,exports){ +},{"./getEventCharCode":152}],154:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18716,7 +19196,7 @@ function getEventModifierState(nativeEvent) { } module.exports = getEventModifierState; -},{}],151:[function(require,module,exports){ +},{}],155:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18752,7 +19232,7 @@ function getEventTarget(nativeEvent) { } module.exports = getEventTarget; -},{}],152:[function(require,module,exports){ +},{}],156:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18783,7 +19263,7 @@ function getHostComponentFromComposite(inst) { } module.exports = getHostComponentFromComposite; -},{"./ReactNodeTypes":106}],153:[function(require,module,exports){ +},{"./ReactNodeTypes":108}],157:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18825,7 +19305,7 @@ function getIteratorFn(maybeIterable) { } module.exports = getIteratorFn; -},{}],154:[function(require,module,exports){ +},{}],158:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18900,7 +19380,7 @@ function getNodeForCharacterOffset(root, offset) { } module.exports = getNodeForCharacterOffset; -},{}],155:[function(require,module,exports){ +},{}],159:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18934,7 +19414,7 @@ function getTextContentAccessor() { } module.exports = getTextContentAccessor; -},{"fbjs/lib/ExecutionEnvironment":2}],156:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":2}],160:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19036,7 +19516,7 @@ function getVendorPrefixedEventName(eventName) { } module.exports = getVendorPrefixedEventName; -},{"fbjs/lib/ExecutionEnvironment":2}],157:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":2}],161:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19183,7 +19663,7 @@ function instantiateReactComponent(node, shouldHaveDebugID) { } module.exports = instantiateReactComponent; -},{"./ReactCompositeComponent":62,"./ReactEmptyComponent":90,"./ReactHostComponent":95,"./ReactInstrumentation":100,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],158:[function(require,module,exports){ +},{"./ReactCompositeComponent":64,"./ReactEmptyComponent":92,"./ReactHostComponent":97,"./ReactInstrumentation":102,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26,"object-assign":27}],162:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19244,7 +19724,7 @@ function isEventSupported(eventNameSuffix, capture) { } module.exports = isEventSupported; -},{"fbjs/lib/ExecutionEnvironment":2}],159:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":2}],163:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19296,7 +19776,7 @@ function isTextInputElement(elem) { } module.exports = isTextInputElement; -},{}],160:[function(require,module,exports){ +},{}],164:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19335,7 +19815,7 @@ function onlyChild(children) { } module.exports = onlyChild; -},{"./ReactElement":88,"./reactProdInvariant":162,"fbjs/lib/invariant":16}],161:[function(require,module,exports){ +},{"./ReactElement":90,"./reactProdInvariant":166,"fbjs/lib/invariant":16}],165:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19362,7 +19842,7 @@ function quoteAttributeValueForBrowser(value) { } module.exports = quoteAttributeValueForBrowser; -},{"./escapeTextContentForBrowser":144}],162:[function(require,module,exports){ +},{"./escapeTextContentForBrowser":148}],166:[function(require,module,exports){ /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. @@ -19402,7 +19882,7 @@ function reactProdInvariant(code) { } module.exports = reactProdInvariant; -},{}],163:[function(require,module,exports){ +},{}],167:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19419,7 +19899,7 @@ module.exports = reactProdInvariant; var ReactMount = require('./ReactMount'); module.exports = ReactMount.renderSubtreeIntoContainer; -},{"./ReactMount":103}],164:[function(require,module,exports){ +},{"./ReactMount":105}],168:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19518,7 +19998,7 @@ if (ExecutionEnvironment.canUseDOM) { } module.exports = setInnerHTML; -},{"./DOMNamespaces":36,"./createMicrosoftUnsafeLocalFunction":142,"fbjs/lib/ExecutionEnvironment":2}],165:[function(require,module,exports){ +},{"./DOMNamespaces":37,"./createMicrosoftUnsafeLocalFunction":146,"fbjs/lib/ExecutionEnvironment":2}],169:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19567,7 +20047,7 @@ if (ExecutionEnvironment.canUseDOM) { } module.exports = setTextContent; -},{"./escapeTextContentForBrowser":144,"./setInnerHTML":164,"fbjs/lib/ExecutionEnvironment":2}],166:[function(require,module,exports){ +},{"./escapeTextContentForBrowser":148,"./setInnerHTML":168,"fbjs/lib/ExecutionEnvironment":2}],170:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19610,7 +20090,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) { } module.exports = shouldUpdateReactComponent; -},{}],167:[function(require,module,exports){ +},{}],171:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19711,7 +20191,14 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) } } else { if ("production" !== 'production') { - "production" !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; + var mapsAsChildrenAddendum = ''; + if (ReactCurrentOwner.current) { + var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName(); + if (mapsAsChildrenOwnerName) { + mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.'; + } + } + "production" !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. @@ -19771,7 +20258,7 @@ function traverseAllChildren(children, callback, traverseContext) { } module.exports = traverseAllChildren; -},{"./KeyEscapeUtils":50,"./ReactCurrentOwner":63,"./ReactElement":88,"./getIteratorFn":153,"./reactProdInvariant":162,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],168:[function(require,module,exports){ +},{"./KeyEscapeUtils":51,"./ReactCurrentOwner":65,"./ReactElement":90,"./getIteratorFn":157,"./reactProdInvariant":166,"fbjs/lib/invariant":16,"fbjs/lib/warning":26}],172:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -20196,7 +20683,7 @@ module.exports = validateDOMNesting; module.exports = require('react/lib/ReactDOM'); -},{"react/lib/ReactDOM":64}],"react-input-autosize":[function(require,module,exports){ +},{"react/lib/ReactDOM":66}],"react-input-autosize":[function(require,module,exports){ 'use strict'; var _extends = Object.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; }; @@ -20331,4 +20818,4 @@ module.exports = AutosizeInput; module.exports = require('./lib/React'); -},{"./lib/React":53}]},{},[]); +},{"./lib/React":54}]},{},[]); diff --git a/examples/dist/standalone.js b/examples/dist/standalone.js index 43a19cf4ed..a920109ad9 100644 --- a/examples/dist/standalone.js +++ b/examples/dist/standalone.js @@ -156,8 +156,8 @@ var Async = _react2['default'].createClass({ input = '' + nextState; } } - if (this.props.ignoreAccents) input = (0, _utilsStripDiacritics2['default'])(input); - if (this.props.ignoreCase) input = input.toLowerCase(); + // if (this.props.ignoreAccents) input = stripDiacritics(input); + // if (this.props.ignoreCase) input = input.toLowerCase(); this._lastInput = input; if (input.length < this.props.minimumInput) { diff --git a/lib/Async.js b/lib/Async.js index dff0ea7a16..e4ee485ae4 100644 --- a/lib/Async.js +++ b/lib/Async.js @@ -132,8 +132,8 @@ var Async = _react2['default'].createClass({ input = '' + nextState; } } - if (this.props.ignoreAccents) input = (0, _utilsStripDiacritics2['default'])(input); - if (this.props.ignoreCase) input = input.toLowerCase(); + // if (this.props.ignoreAccents) input = stripDiacritics(input); + // if (this.props.ignoreCase) input = input.toLowerCase(); this._lastInput = input; if (input.length < this.props.minimumInput) { diff --git a/src/Async.js b/src/Async.js index e636b82b50..0af6ea1a59 100644 --- a/src/Async.js +++ b/src/Async.js @@ -118,8 +118,8 @@ const Async = React.createClass({ input = '' + nextState; } } - if (this.props.ignoreAccents) input = stripDiacritics(input); - if (this.props.ignoreCase) input = input.toLowerCase(); + // if (this.props.ignoreAccents) input = stripDiacritics(input); + // if (this.props.ignoreCase) input = input.toLowerCase(); this._lastInput = input; if (input.length < this.props.minimumInput) {