diff --git a/.gitignore b/.gitignore index d8f7cf0..4d2d1a0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,10 @@ node_modules data/* -# have to add the bundle to version control so deployment with git subtree works -# browser-bundle.js +dist/themes +dist/semantic.min.css +browser-bundle.js browser-bundle.js.map npm-debug.log.* diff --git a/dist/browser-bundle.js b/dist/browser-bundle.js index 7166ee8..d1492fc 100644 --- a/dist/browser-bundle.js +++ b/dist/browser-bundle.js @@ -1,4923 +1,14 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.l = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // identity function for calling harmory imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; - -/******/ // define getter function for harmory exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ }; - -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; - -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 905); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';module.exports=__webpack_require__(713); - -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.objectDiff=exports.numberToWord=exports.numberToWordMap=exports.keyboardKey=exports.SUI=exports.META=exports.leven=exports.isBrowser=exports.getElementType=exports.getUnhandledProps=exports.makeDebugger=exports.debug=exports.customPropTypes=exports.useVerticalAlignProp=exports.useTextAlignProp=exports.useWidthProp=exports.useKeyOrValueAndKey=exports.useValueAndKey=exports.useKeyOnly=exports.childrenUtils=exports.AutoControlledComponent=undefined;var _AutoControlledComponent=__webpack_require__(842);Object.defineProperty(exports,'AutoControlledComponent',{enumerable:true,get:function get(){return _interopRequireDefault(_AutoControlledComponent).default;}});var _classNameBuilders=__webpack_require__(846);Object.defineProperty(exports,'useKeyOnly',{enumerable:true,get:function get(){return _classNameBuilders.useKeyOnly;}});Object.defineProperty(exports,'useValueAndKey',{enumerable:true,get:function get(){return _classNameBuilders.useValueAndKey;}});Object.defineProperty(exports,'useKeyOrValueAndKey',{enumerable:true,get:function get(){return _classNameBuilders.useKeyOrValueAndKey;}});Object.defineProperty(exports,'useWidthProp',{enumerable:true,get:function get(){return _classNameBuilders.useWidthProp;}});Object.defineProperty(exports,'useTextAlignProp',{enumerable:true,get:function get(){return _classNameBuilders.useTextAlignProp;}});Object.defineProperty(exports,'useVerticalAlignProp',{enumerable:true,get:function get(){return _classNameBuilders.useVerticalAlignProp;}});var _debug=__webpack_require__(848);Object.defineProperty(exports,'debug',{enumerable:true,get:function get(){return _debug.debug;}});Object.defineProperty(exports,'makeDebugger',{enumerable:true,get:function get(){return _debug.makeDebugger;}});var _factories=__webpack_require__(849);Object.keys(_factories).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _factories[key];}});});var _getUnhandledProps=__webpack_require__(851);Object.defineProperty(exports,'getUnhandledProps',{enumerable:true,get:function get(){return _interopRequireDefault(_getUnhandledProps).default;}});var _getElementType=__webpack_require__(850);Object.defineProperty(exports,'getElementType',{enumerable:true,get:function get(){return _interopRequireDefault(_getElementType).default;}});var _isBrowser=__webpack_require__(395);Object.defineProperty(exports,'isBrowser',{enumerable:true,get:function get(){return _interopRequireDefault(_isBrowser).default;}});var _leven=__webpack_require__(396);Object.defineProperty(exports,'leven',{enumerable:true,get:function get(){return _interopRequireDefault(_leven).default;}});var _keyboardKey=__webpack_require__(852);Object.defineProperty(exports,'keyboardKey',{enumerable:true,get:function get(){return _interopRequireDefault(_keyboardKey).default;}});var _numberToWord=__webpack_require__(205);Object.defineProperty(exports,'numberToWordMap',{enumerable:true,get:function get(){return _numberToWord.numberToWordMap;}});Object.defineProperty(exports,'numberToWord',{enumerable:true,get:function get(){return _numberToWord.numberToWord;}});var _objectDiff=__webpack_require__(853);Object.defineProperty(exports,'objectDiff',{enumerable:true,get:function get(){return _objectDiff.objectDiff;}});var _childrenUtils2=__webpack_require__(845);var _childrenUtils=_interopRequireWildcard(_childrenUtils2);var _customPropTypes2=__webpack_require__(847);var _customPropTypes=_interopRequireWildcard(_customPropTypes2);var _META2=__webpack_require__(843);var _META=_interopRequireWildcard(_META2);var _SUI2=__webpack_require__(844);var _SUI=_interopRequireWildcard(_SUI2);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}exports.childrenUtils=_childrenUtils;exports.customPropTypes=_customPropTypes;exports.META=_META;exports.SUI=_SUI; - -/***/ }, -/* 2 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};/*! +!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,t,n){Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=901)}([function(e,t,n){"use strict";e.exports=n(711)},function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.objectDiff=t.numberToWord=t.numberToWordMap=t.keyboardKey=t.SUI=t.META=t.leven=t.isBrowser=t.getElementType=t.getUnhandledProps=t.makeDebugger=t.debug=t.customPropTypes=t.useVerticalAlignProp=t.useTextAlignProp=t.useWidthProp=t.useKeyOrValueAndKey=t.useValueAndKey=t.useKeyOnly=t.childrenUtils=t.AutoControlledComponent=void 0;var a=n(838);Object.defineProperty(t,"AutoControlledComponent",{enumerable:!0,get:function(){return o(a).default}});var i=n(842);Object.defineProperty(t,"useKeyOnly",{enumerable:!0,get:function(){return i.useKeyOnly}}),Object.defineProperty(t,"useValueAndKey",{enumerable:!0,get:function(){return i.useValueAndKey}}),Object.defineProperty(t,"useKeyOrValueAndKey",{enumerable:!0,get:function(){return i.useKeyOrValueAndKey}}),Object.defineProperty(t,"useWidthProp",{enumerable:!0,get:function(){return i.useWidthProp}}),Object.defineProperty(t,"useTextAlignProp",{enumerable:!0,get:function(){return i.useTextAlignProp}}),Object.defineProperty(t,"useVerticalAlignProp",{enumerable:!0,get:function(){return i.useVerticalAlignProp}});var u=n(844);Object.defineProperty(t,"debug",{enumerable:!0,get:function(){return u.debug}}),Object.defineProperty(t,"makeDebugger",{enumerable:!0,get:function(){return u.makeDebugger}});var s=n(845);Object.keys(s).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}})});var l=n(847);Object.defineProperty(t,"getUnhandledProps",{enumerable:!0,get:function(){return o(l).default}});var c=n(846);Object.defineProperty(t,"getElementType",{enumerable:!0,get:function(){return o(c).default}});var p=n(395);Object.defineProperty(t,"isBrowser",{enumerable:!0,get:function(){return o(p).default}});var f=n(396);Object.defineProperty(t,"leven",{enumerable:!0,get:function(){return o(f).default}});var d=n(848);Object.defineProperty(t,"keyboardKey",{enumerable:!0,get:function(){return o(d).default}});var y=n(205);Object.defineProperty(t,"numberToWordMap",{enumerable:!0,get:function(){return y.numberToWordMap}}),Object.defineProperty(t,"numberToWord",{enumerable:!0,get:function(){return y.numberToWord}});var h=n(849);Object.defineProperty(t,"objectDiff",{enumerable:!0,get:function(){return h.objectDiff}});var m=n(841),v=r(m),g=n(843),b=r(g),P=n(839),T=r(P),O=n(840),_=r(O);t.childrenUtils=v,t.customPropTypes=b,t.META=T,t.SUI=_},function(e,t,n){"use strict";var r,o,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};/*! Copyright (c) 2016 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*//* global define */(function(){'use strict';var hasOwn={}.hasOwnProperty;function classNames(){var classes=[];for(var i=0;i1){for(var i=1;i2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}if(format===undefined){throw new Error('`warning(condition, format, ...args)` requires a warning '+'message argument');}if(format.indexOf('Failed Composite propType: ')===0){return;// Ignore CompositeComponent proptype check. -}if(!condition){var argIndex=0;var message='Warning: '+format.replace(/%s/g,function(){return args[argIndex++];});if(typeof console!=='undefined'){console.error(message);}try{// --- Welcome to debugging React --- -// This error was thrown as a convenience so that you can use this stack -// to find the callsite that caused this warning to fire. -throw new Error(message);}catch(x){}}};}module.exports=warning; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 7 */ -/***/ function(module, exports) { - -"use strict"; -"use strict";/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */var isArray=Array.isArray;module.exports=isArray; - -/***/ }, -/* 8 */ -/***/ function(module, exports) { - -"use strict"; -"use strict";/** - * The default argument placeholder value for methods. - * - * @type {Object} - */module.exports={}; - -/***/ }, -/* 9 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';var baseConvert=__webpack_require__(627),util=__webpack_require__(629);/** - * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. If `name` is an object its methods - * will be converted. - * - * @param {string} name The name of the function to wrap. - * @param {Function} [func] The function to wrap. - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function|Object} Returns the converted function or object. - */function convert(name,func,options){return baseConvert(util,name,func,options);}module.exports=convert; - -/***/ }, -/* 10 */ -/***/ function(module, exports) { - -"use strict"; -/** - * Copyright 2013-2015, 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 ExecutionEnvironment - */'use strict';var canUseDOM=!!(typeof window!=='undefined'&&window.document&&window.document.createElement);/** - * Simple, lightweight module assisting with the detection and context of - * Worker. Helps avoid circular dependencies and allows code to reason about - * whether or not they are in a Worker, even if they never include the main - * `ReactWorker` dependency. - */var ExecutionEnvironment={canUseDOM:canUseDOM,canUseWorkers:typeof Worker!=='undefined',canUseEventListeners:canUseDOM&&!!(window.addEventListener||window.attachEvent),canUseViewport:canUseDOM&&!!window.screen,isInWorker:!canUseDOM// For now, this is true - might change in the future. -};module.exports=ExecutionEnvironment; - -/***/ }, -/* 11 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';var baseDifference=__webpack_require__(244),baseRest=__webpack_require__(28),isArrayLikeObject=__webpack_require__(110);/** - * Creates an array excluding all given values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.pull`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.xor - * @example - * - * _.without([2, 1, 2, 3], 1, 2); - * // => [3] - */var without=baseRest(function(array,values){return isArrayLikeObject(array)?baseDifference(array,values):[];});module.exports=without; - -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';var arrayMap=__webpack_require__(27),baseIteratee=__webpack_require__(22),baseMap=__webpack_require__(248),isArray=__webpack_require__(7);/** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */function map(collection,iteratee){var func=isArray(collection)?arrayMap:baseMap;return func(collection,baseIteratee(iteratee,3));}module.exports=map; - -/***/ }, -/* 13 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=undefined;var _Icon=__webpack_require__(129);var _Icon2=_interopRequireDefault(_Icon);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}exports.default=_Icon2.default; - -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-2015, 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. - */'use strict';/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */var invariant=function invariant(condition,format,a,b,c,d,e,f){if(process.env.NODE_ENV!=='production'){if(format===undefined){throw new Error('invariant requires an error message argument');}}if(!condition){var error;if(format===undefined){error=new Error('Minified exception occurred; use the non-minified dev environment '+'for the full error message and additional helpful warnings.');}else{var args=[a,b,c,d,e,f];var argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++];}));error.name='Invariant Violation';}error.framesToPop=1;// we don't care about invariant's own frame -throw error;}};module.exports=invariant; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 15 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -'use strict';var arrayLikeKeys=__webpack_require__(240),baseKeys=__webpack_require__(150),isArrayLike=__webpack_require__(25);/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object);}module.exports=keys; - -/***/ }, -/* 16 */ -/***/ function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-2015, 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 ReactMount - */'use strict';var DOMProperty=__webpack_require__(51);var ReactBrowserEventEmitter=__webpack_require__(119);var ReactCurrentOwner=__webpack_require__(32);var ReactDOMFeatureFlags=__webpack_require__(318);var ReactElement=__webpack_require__(20);var ReactEmptyComponentRegistry=__webpack_require__(325);var ReactInstanceHandles=__webpack_require__(64);var ReactInstanceMap=__webpack_require__(81);var ReactMarkupChecksum=__webpack_require__(328);var ReactPerf=__webpack_require__(21);var ReactReconciler=__webpack_require__(52);var ReactUpdateQueue=__webpack_require__(180);var ReactUpdates=__webpack_require__(23);var assign=__webpack_require__(5);var emptyObject=__webpack_require__(68);var containsNode=__webpack_require__(228);var instantiateReactComponent=__webpack_require__(187);var invariant=__webpack_require__(4);var setInnerHTML=__webpack_require__(126);var shouldUpdateReactComponent=__webpack_require__(190);var validateDOMNesting=__webpack_require__(192);var warning=__webpack_require__(6);var ATTR_NAME=DOMProperty.ID_ATTRIBUTE_NAME;var nodeCache={};var ELEMENT_NODE_TYPE=1;var DOC_NODE_TYPE=9;var DOCUMENT_FRAGMENT_NODE_TYPE=11;var ownerDocumentContextKey='__ReactMount_ownerDocument$'+Math.random().toString(36).slice(2);/** Mapping from reactRootID to React component instance. */var instancesByReactRootID={};/** Mapping from reactRootID to `container` nodes. */var containersByReactRootID={};if(process.env.NODE_ENV!=='production'){/** __DEV__-only mapping from reactRootID to root elements. */var rootElementsByReactRootID={};}// Used to store breadth-first search state in findComponentRoot. -var findComponentRootReusableArray=[];/** - * Finds the index of the first character - * that's not common between the two given strings. - * - * @return {number} the index of the character where the strings diverge - */function firstDifferenceIndex(string1,string2){var minLen=Math.min(string1.length,string2.length);for(var i=0;i <-- Supplied `container`. - *
<-- Rendered reactRoot of React - * // ... component. - *
- * - * - * Inside of `container`, the first element rendered is the "reactRoot". - */var ReactMount={TopLevelWrapper:TopLevelWrapper,/** Exposed for debugging purposes **/_instancesByReactRootID:instancesByReactRootID,/** - * This is a hook provided to support rendering React components while - * ensuring that the apparent scroll position of its `container` does not - * change. - * - * @param {DOMElement} container The `container` being rendered into. - * @param {function} renderCallback This must be called once to do the render. - */scrollMonitor:function scrollMonitor(container,renderCallback){renderCallback();},/** - * Take a component that's already mounted into the DOM and replace its props - * @param {ReactComponent} prevComponent component instance already in the DOM - * @param {ReactElement} nextElement component instance to render - * @param {DOMElement} container container to render into - * @param {?function} callback function triggered on completion - */_updateRootComponent:function _updateRootComponent(prevComponent,nextElement,container,callback){ReactMount.scrollMonitor(container,function(){ReactUpdateQueue.enqueueElementInternal(prevComponent,nextElement);if(callback){ReactUpdateQueue.enqueueCallbackInternal(prevComponent,callback);}});if(process.env.NODE_ENV!=='production'){// Record the root element in case it later gets transplanted. -rootElementsByReactRootID[getReactRootID(container)]=getReactRootElementInContainer(container);}return prevComponent;},/** - * Register a component into the instance map and starts scroll value - * monitoring - * @param {ReactComponent} nextComponent component instance to render - * @param {DOMElement} container container to render into - * @return {string} reactRoot ID prefix - */_registerComponent:function _registerComponent(nextComponent,container){!(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE||container.nodeType===DOCUMENT_FRAGMENT_NODE_TYPE))?process.env.NODE_ENV!=='production'?invariant(false,'_registerComponent(...): Target container is not a DOM element.'):invariant(false):undefined;ReactBrowserEventEmitter.ensureScrollValueMonitoring();var reactRootID=ReactMount.registerContainer(container);instancesByReactRootID[reactRootID]=nextComponent;return reactRootID;},/** - * Render a new component into the DOM. - * @param {ReactElement} nextElement element to render - * @param {DOMElement} container container to render into - * @param {boolean} shouldReuseMarkup if we should skip the markup insertion - * @return {ReactComponent} nextComponent - */_renderNewRootComponent:function _renderNewRootComponent(nextElement,container,shouldReuseMarkup,context){// Various parts of our code (such as ReactCompositeComponent's -// _renderValidatedComponent) assume that calls to render aren't nested; -// verify that that's the case. -process.env.NODE_ENV!=='production'?warning(ReactCurrentOwner.current==null,'_renderNewRootComponent(): Render methods should be a pure function '+'of props and state; triggering nested component updates from '+'render is not allowed. If necessary, trigger nested updates in '+'componentDidUpdate. Check the render method of %s.',ReactCurrentOwner.current&&ReactCurrentOwner.current.getName()||'ReactCompositeComponent'):undefined;var componentInstance=instantiateReactComponent(nextElement,null);var reactRootID=ReactMount._registerComponent(componentInstance,container);// The initial render is synchronous but any updates that happen during -// rendering, in componentWillMount or componentDidMount, will be batched -// according to the current batching strategy. -ReactUpdates.batchedUpdates(batchedMountComponentIntoNode,componentInstance,reactRootID,container,shouldReuseMarkup,context);if(process.env.NODE_ENV!=='production'){// Record the root element in case it later gets transplanted. -rootElementsByReactRootID[reactRootID]=getReactRootElementInContainer(container);}return componentInstance;},/** - * Renders a React component into the DOM in the supplied `container`. - * - * If the React component was previously rendered into `container`, this will - * perform an update on it and only mutate the DOM as necessary to reflect the - * latest React component. - * - * @param {ReactComponent} parentComponent The conceptual parent of this render tree. - * @param {ReactElement} nextElement Component element to render. - * @param {DOMElement} container DOM element to render into. - * @param {?function} callback function triggered on completion - * @return {ReactComponent} Component instance rendered in `container`. - */renderSubtreeIntoContainer:function renderSubtreeIntoContainer(parentComponent,nextElement,container,callback){!(parentComponent!=null&&parentComponent._reactInternalInstance!=null)?process.env.NODE_ENV!=='production'?invariant(false,'parentComponent must be a valid React Component'):invariant(false):undefined;return ReactMount._renderSubtreeIntoContainer(parentComponent,nextElement,container,callback);},_renderSubtreeIntoContainer:function _renderSubtreeIntoContainer(parentComponent,nextElement,container,callback){!ReactElement.isValidElement(nextElement)?process.env.NODE_ENV!=='production'?invariant(false,'ReactDOM.render(): Invalid component element.%s',typeof nextElement==='string'?' Instead of passing an element string, make sure to instantiate '+'it by passing it to React.createElement.':typeof nextElement==='function'?' Instead of passing a component class, make sure to instantiate '+'it by passing it to React.createElement.':// Check if it quacks like an element -nextElement!=null&&nextElement.props!==undefined?' This may be caused by unintentionally loading two independent '+'copies of React.':''):invariant(false):undefined;process.env.NODE_ENV!=='production'?warning(!container||!container.tagName||container.tagName.toUpperCase()!=='BODY','render(): Rendering components directly into document.body is '+'discouraged, since its children are often manipulated by third-party '+'scripts and browser extensions. This may lead to subtle '+'reconciliation issues. Try rendering into a container element created '+'for your app.'):undefined;var nextWrappedElement=new ReactElement(TopLevelWrapper,null,null,null,null,null,nextElement);var prevComponent=instancesByReactRootID[getReactRootID(container)];if(prevComponent){var prevWrappedElement=prevComponent._currentElement;var prevElement=prevWrappedElement.props;if(shouldUpdateReactComponent(prevElement,nextElement)){var publicInst=prevComponent._renderedComponent.getPublicInstance();var updatedCallback=callback&&function(){callback.call(publicInst);};ReactMount._updateRootComponent(prevComponent,nextWrappedElement,container,updatedCallback);return publicInst;}else{ReactMount.unmountComponentAtNode(container);}}var reactRootElement=getReactRootElementInContainer(container);var containerHasReactMarkup=reactRootElement&&!!internalGetID(reactRootElement);var containerHasNonRootReactChild=hasNonRootReactChild(container);if(process.env.NODE_ENV!=='production'){process.env.NODE_ENV!=='production'?warning(!containerHasNonRootReactChild,'render(...): Replacing React-rendered children with a new root '+'component. If you intended to update the children of this node, '+'you should instead have the existing children update their state '+'and render the new components instead of calling ReactDOM.render.'):undefined;if(!containerHasReactMarkup||reactRootElement.nextSibling){var rootElementSibling=reactRootElement;while(rootElementSibling){if(internalGetID(rootElementSibling)){process.env.NODE_ENV!=='production'?warning(false,'render(): Target node has markup rendered by React, but there '+'are unrelated nodes as well. This is most commonly caused by '+'white-space inserted around server-rendered markup.'):undefined;break;}rootElementSibling=rootElementSibling.nextSibling;}}}var shouldReuseMarkup=containerHasReactMarkup&&!prevComponent&&!containerHasNonRootReactChild;var component=ReactMount._renderNewRootComponent(nextWrappedElement,container,shouldReuseMarkup,parentComponent!=null?parentComponent._reactInternalInstance._processChildContext(parentComponent._reactInternalInstance._context):emptyObject)._renderedComponent.getPublicInstance();if(callback){callback.call(component);}return component;},/** - * Renders a React component into the DOM in the supplied `container`. - * - * If the React component was previously rendered into `container`, this will - * perform an update on it and only mutate the DOM as necessary to reflect the - * latest React component. - * - * @param {ReactElement} nextElement Component element to render. - * @param {DOMElement} container DOM element to render into. - * @param {?function} callback function triggered on completion - * @return {ReactComponent} Component instance rendered in `container`. - */render:function render(nextElement,container,callback){return ReactMount._renderSubtreeIntoContainer(null,nextElement,container,callback);},/** - * Registers a container node into which React components will be rendered. - * This also creates the "reactRoot" ID that will be assigned to the element - * rendered within. - * - * @param {DOMElement} container DOM element to register as a container. - * @return {string} The "reactRoot" ID of elements rendered within. - */registerContainer:function registerContainer(container){var reactRootID=getReactRootID(container);if(reactRootID){// If one exists, make sure it is a valid "reactRoot" ID. -reactRootID=ReactInstanceHandles.getReactRootIDFromNodeID(reactRootID);}if(!reactRootID){// No valid "reactRoot" ID found, create one. -reactRootID=ReactInstanceHandles.createReactRootID();}containersByReactRootID[reactRootID]=container;return reactRootID;},/** - * Unmounts and destroys the React component rendered in the `container`. - * - * @param {DOMElement} container DOM element containing a React component. - * @return {boolean} True if a component was found in and unmounted from - * `container` - */unmountComponentAtNode:function unmountComponentAtNode(container){// Various parts of our code (such as ReactCompositeComponent's -// _renderValidatedComponent) assume that calls to render aren't nested; -// verify that that's the case. (Strictly speaking, unmounting won't cause a -// render but we still don't expect to be in a render call here.) -process.env.NODE_ENV!=='production'?warning(ReactCurrentOwner.current==null,'unmountComponentAtNode(): Render methods should be a pure function '+'of props and state; triggering nested component updates from render '+'is not allowed. If necessary, trigger nested updates in '+'componentDidUpdate. Check the render method of %s.',ReactCurrentOwner.current&&ReactCurrentOwner.current.getName()||'ReactCompositeComponent'):undefined;!(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE||container.nodeType===DOCUMENT_FRAGMENT_NODE_TYPE))?process.env.NODE_ENV!=='production'?invariant(false,'unmountComponentAtNode(...): Target container is not a DOM element.'):invariant(false):undefined;var reactRootID=getReactRootID(container);var component=instancesByReactRootID[reactRootID];if(!component){// Check if the node being unmounted was rendered by React, but isn't a -// root node. -var containerHasNonRootReactChild=hasNonRootReactChild(container);// Check if the container itself is a React root node. -var containerID=internalGetID(container);var isContainerReactRoot=containerID&&containerID===ReactInstanceHandles.getReactRootIDFromNodeID(containerID);if(process.env.NODE_ENV!=='production'){process.env.NODE_ENV!=='production'?warning(!containerHasNonRootReactChild,'unmountComponentAtNode(): The node you\'re attempting to unmount '+'was rendered by React and is not a top-level container. %s',isContainerReactRoot?'You may have accidentally passed in a React root node instead '+'of its container.':'Instead, have the parent component update its state and '+'rerender in order to remove this component.'):undefined;}return false;}ReactUpdates.batchedUpdates(unmountComponentFromNode,component,container);delete instancesByReactRootID[reactRootID];delete containersByReactRootID[reactRootID];if(process.env.NODE_ENV!=='production'){delete rootElementsByReactRootID[reactRootID];}return true;},/** - * Finds the container DOM element that contains React component to which the - * supplied DOM `id` belongs. - * - * @param {string} id The ID of an element rendered by a React component. - * @return {?DOMElement} DOM element that contains the `id`. - */findReactContainerForID:function findReactContainerForID(id){var reactRootID=ReactInstanceHandles.getReactRootIDFromNodeID(id);var container=containersByReactRootID[reactRootID];if(process.env.NODE_ENV!=='production'){var rootElement=rootElementsByReactRootID[reactRootID];if(rootElement&&rootElement.parentNode!==container){process.env.NODE_ENV!=='production'?warning(// Call internalGetID here because getID calls isValid which calls -// findReactContainerForID (this function). -internalGetID(rootElement)===reactRootID,'ReactMount: Root element ID differed from reactRootID.'):undefined;var containerChild=container.firstChild;if(containerChild&&reactRootID===internalGetID(containerChild)){// If the container has a new child with the same ID as the old -// root element, then rootElementsByReactRootID[reactRootID] is -// just stale and needs to be updated. The case that deserves a -// warning is when the container is empty. -rootElementsByReactRootID[reactRootID]=containerChild;}else{process.env.NODE_ENV!=='production'?warning(false,'ReactMount: Root element has been removed from its original '+'container. New container: %s',rootElement.parentNode):undefined;}}}return container;},/** - * Finds an element rendered by React with the supplied ID. - * - * @param {string} id ID of a DOM node in the React component. - * @return {DOMElement} Root DOM node of the React component. - */findReactNodeByID:function findReactNodeByID(id){var reactRoot=ReactMount.findReactContainerForID(id);return ReactMount.findComponentRoot(reactRoot,id);},/** - * Traverses up the ancestors of the supplied node to find a node that is a - * DOM representation of a React component rendered by this copy of React. - * - * @param {*} node - * @return {?DOMEventTarget} - * @internal - */getFirstReactDOM:function getFirstReactDOM(node){return findFirstReactDOMImpl(node);},/** - * Finds a node with the supplied `targetID` inside of the supplied - * `ancestorNode`. Exploits the ID naming scheme to perform the search - * quickly. - * - * @param {DOMEventTarget} ancestorNode Search from this root. - * @pararm {string} targetID ID of the DOM representation of the component. - * @return {DOMEventTarget} DOM node with the supplied `targetID`. - * @internal - */findComponentRoot:function findComponentRoot(ancestorNode,targetID){var firstChildren=findComponentRootReusableArray;var childIndex=0;var deepestAncestor=findDeepestCachedAncestor(targetID)||ancestorNode;if(process.env.NODE_ENV!=='production'){// This will throw on the next line; give an early warning -process.env.NODE_ENV!=='production'?warning(deepestAncestor!=null,'React can\'t find the root component node for data-reactid value '+'`%s`. If you\'re seeing this message, it probably means that '+'you\'ve loaded two copies of React on the page. At this time, only '+'a single copy of React can be loaded at a time.',targetID):undefined;}firstChildren[0]=deepestAncestor.firstChild;firstChildren.length=1;while(childIndex` -// element sprouts an extra `` child as a side effect of -// `.innerHTML` parsing. Optimistically continue down this -// branch, but not before examining the other siblings. -firstChildren.push(child.firstChild);}child=child.nextSibling;}if(targetChild){// Emptying firstChildren/findComponentRootReusableArray is -// not necessary for correctness, but it helps the GC reclaim -// any nodes that were left at the end of the search. -firstChildren.length=0;return targetChild;}}firstChildren.length=0; true?process.env.NODE_ENV!=='production'?invariant(false,'findComponentRoot(..., %s): Unable to find element. This probably '+'means the DOM was unexpectedly mutated (e.g., by the browser), '+'usually due to forgetting a when using tables, nesting tags '+'like
,

, or , or using non-SVG elements in an '+'parent. '+'Try inspecting the child nodes of the element with React ID `%s`.',targetID,ReactMount.getID(ancestorNode)):invariant(false):undefined;},_mountImageIntoNode:function _mountImageIntoNode(markup,container,shouldReuseMarkup,transaction){!(container&&(container.nodeType===ELEMENT_NODE_TYPE||container.nodeType===DOC_NODE_TYPE||container.nodeType===DOCUMENT_FRAGMENT_NODE_TYPE))?process.env.NODE_ENV!=='production'?invariant(false,'mountComponentIntoNode(...): Target container is not valid.'):invariant(false):undefined;if(shouldReuseMarkup){var rootElement=getReactRootElementInContainer(container);if(ReactMarkupChecksum.canReuseMarkup(markup,rootElement)){return;}else{var checksum=rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);var rootMarkup=rootElement.outerHTML;rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME,checksum);var normalizedMarkup=markup;if(process.env.NODE_ENV!=='production'){// because rootMarkup is retrieved from the DOM, various normalizations -// will have occurred which will not be present in `markup`. Here, -// insert markup into a

or