diff options
author | Jason <jason.daurus@gmail.com> | 2016-03-02 21:21:41 +0800 |
---|---|---|
committer | Jason <jason.daurus@gmail.com> | 2016-03-02 21:55:36 +0800 |
commit | 70af4fae46a9b74feb2fd04f370ebce13d5450b0 (patch) | |
tree | f296ad49039285c2b55ee119d9f911e931acd7ff | |
parent | 8089752cb2b13fdb13500e577c459ce34abbcbea (diff) | |
download | mitmproxy-70af4fae46a9b74feb2fd04f370ebce13d5450b0.tar.gz mitmproxy-70af4fae46a9b74feb2fd04f370ebce13d5450b0.tar.bz2 mitmproxy-70af4fae46a9b74feb2fd04f370ebce13d5450b0.zip |
[web] StoreView.index -> indexOf
-rw-r--r-- | mitmproxy/web/static/app.js | 8 | ||||
-rw-r--r-- | mitmproxy/web/static/vendor.js | 4484 | ||||
-rw-r--r-- | web/src/js/components/flowtable.js | 2 | ||||
-rw-r--r-- | web/src/js/store/view.js | 6 |
4 files changed, 2250 insertions, 2250 deletions
diff --git a/mitmproxy/web/static/app.js b/mitmproxy/web/static/app.js index 4299f749..3537d355 100644 --- a/mitmproxy/web/static/app.js +++ b/mitmproxy/web/static/app.js @@ -1580,7 +1580,7 @@ var FlowTable = _react2.default.createClass({ this.forceUpdate(); }, scrollIntoView: function scrollIntoView(flow) { - this.scrollRowIntoView(this.context.view.index(flow), _reactDom2.default.findDOMNode(this.refs.body).offsetTop); + this.scrollRowIntoView(this.context.view.indexOf(flow), _reactDom2.default.findDOMNode(this.refs.body).offsetTop); }, renderRow: function renderRow(flow) { var selected = flow === this.props.selected; @@ -6317,12 +6317,12 @@ _lodash2.default.extend(StoreView.prototype, _events.EventEmitter.prototype, { }); this.emit("recalculate"); }, - index: function index(elem) { - return _lodash2.default.sortedIndexBy(this.list, elem, this.sortfun); + indexOf: function indexOf(elem) { + return this.list.indexOf(elem, _lodash2.default.sortedIndexBy(this.list, elem, this.sortfun)); }, add: function add(elem) { if (this.filt(elem)) { - var idx = this.index(elem); + var idx = _lodash2.default.sortedIndexBy(this.list, elem, this.sortfun); if (idx === this.list.length) { //happens often, .push is way faster. this.list.push(elem); diff --git a/mitmproxy/web/static/vendor.js b/mitmproxy/web/static/vendor.js index cc631d27..6bb4b947 100644 --- a/mitmproxy/web/static/vendor.js +++ b/mitmproxy/web/static/vendor.js @@ -1,97 +1,186 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ -// shim for using process in browser +var pSlice = Array.prototype.slice; +var objectKeys = require('./lib/keys.js'); +var isArguments = require('./lib/is_arguments.js'); -var process = module.exports = {}; -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; +var deepEqual = module.exports = function (actual, expected, opts) { + if (!opts) opts = {}; + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; -function cleanUpNextTick() { - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } + } else if (actual instanceof Date && expected instanceof Date) { + return actual.getTime() === expected.getTime(); + + // 7.3. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') { + return opts.strict ? actual === expected : actual == expected; + + // 7.4. For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else { + return objEquiv(actual, expected, opts); + } } -function drainQueue() { - if (draining) { - return; - } - var timeout = setTimeout(cleanUpNextTick); - draining = true; +function isUndefinedOrNull(value) { + return value === null || value === undefined; +} - 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; - clearTimeout(timeout); +function isBuffer (x) { + if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false; + if (typeof x.copy !== 'function' || typeof x.slice !== 'function') { + return false; + } + if (x.length > 0 && typeof x[0] !== 'number') return false; + return true; } -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]; - } +function objEquiv(a, b, opts) { + var i, key; + if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) + return false; + // an identical 'prototype' property. + if (a.prototype !== b.prototype) return false; + //~~~I've managed to break Object.keys through screwy arguments passing. + // Converting to array solves the problem. + if (isArguments(a)) { + if (!isArguments(b)) { + return false; } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - setTimeout(drainQueue, 0); + a = pSlice.call(a); + b = pSlice.call(b); + return deepEqual(a, b, opts); + } + if (isBuffer(a)) { + if (!isBuffer(b)) { + return false; + } + if (a.length !== b.length) return false; + for (i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; } + return true; + } + try { + var ka = objectKeys(a), + kb = objectKeys(b); + } catch (e) {//happens when one is a string literal and the other isn't + return false; + } + // having the same number of owned properties (keys incorporates + // hasOwnProperty) + if (ka.length != kb.length) + return false; + //the same set of keys (although not necessarily the same order), + ka.sort(); + kb.sort(); + //~~~cheap key test + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] != kb[i]) + return false; + } + //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!deepEqual(a[key], b[key], opts)) return false; + } + return typeof a === typeof b; +} + +},{"./lib/is_arguments.js":2,"./lib/keys.js":3}],2:[function(require,module,exports){ +var supportsArgumentsClass = (function(){ + return Object.prototype.toString.call(arguments) +})() == '[object Arguments]'; + +exports = module.exports = supportsArgumentsClass ? supported : unsupported; + +exports.supported = supported; +function supported(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; }; -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); +exports.unsupported = unsupported; +function unsupported(object){ + return object && + typeof object == 'object' && + typeof object.length == 'number' && + Object.prototype.hasOwnProperty.call(object, 'callee') && + !Object.prototype.propertyIsEnumerable.call(object, 'callee') || + false; }; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; -function noop() {} +},{}],3:[function(require,module,exports){ +exports = module.exports = typeof Object.keys === 'function' + ? Object.keys : shim; -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; +exports.shim = shim; +function shim (obj) { + var keys = []; + for (var key in obj) keys.push(key); + return keys; +} -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; +},{}],4:[function(require,module,exports){ +(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 invariant + */ -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); +"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 (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('Invariant Violation: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + })); + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } }; -process.umask = function() { return 0; }; -},{}],2:[function(require,module,exports){ +module.exports = invariant; +}).call(this,require('_process')) + +},{"_process":23}],5:[function(require,module,exports){ (function (process){ /** * Copyright (c) 2014-2015, Facebook, Inc. @@ -326,7 +415,1627 @@ var Dispatcher = (function () { module.exports = Dispatcher; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":3}],3:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":4}],6:[function(require,module,exports){ +/** + * Indicates that navigation was caused by a call to history.push. + */ +'use strict'; + +exports.__esModule = true; +var PUSH = 'PUSH'; + +exports.PUSH = PUSH; +/** + * Indicates that navigation was caused by a call to history.replace. + */ +var REPLACE = 'REPLACE'; + +exports.REPLACE = REPLACE; +/** + * Indicates that navigation was caused by some other action such + * as using a browser's back/forward buttons and/or manually manipulating + * the URL in a browser's location bar. This is the default. + * + * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate + * for more information. + */ +var POP = 'POP'; + +exports.POP = POP; +exports['default'] = { + PUSH: PUSH, + REPLACE: REPLACE, + POP: POP +}; +},{}],7:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.loopAsync = loopAsync; + +function loopAsync(turns, work, callback) { + var currentTurn = 0; + var isDone = false; + + function done() { + isDone = true; + callback.apply(this, arguments); + } + + function next() { + if (isDone) return; + + if (currentTurn < turns) { + work.call(this, currentTurn++, next, done); + } else { + done.apply(this, arguments); + } + } + + next(); +} +},{}],8:[function(require,module,exports){ +(function (process){ +/*eslint-disable no-empty */ +'use strict'; + +exports.__esModule = true; +exports.saveState = saveState; +exports.readState = readState; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +var KeyPrefix = '@@History/'; +var QuotaExceededErrors = ['QuotaExceededError', 'QUOTA_EXCEEDED_ERR']; + +var SecurityError = 'SecurityError'; + +function createKey(key) { + return KeyPrefix + key; +} + +function saveState(key, state) { + try { + if (state == null) { + window.sessionStorage.removeItem(createKey(key)); + } else { + window.sessionStorage.setItem(createKey(key), JSON.stringify(state)); + } + } catch (error) { + if (error.name === SecurityError) { + // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any + // attempt to access window.sessionStorage. + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] Unable to save state; sessionStorage is not available due to security settings') : undefined; + + return; + } + + if (QuotaExceededErrors.indexOf(error.name) >= 0 && window.sessionStorage.length === 0) { + // Safari "private mode" throws QuotaExceededError. + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] Unable to save state; sessionStorage is not available in Safari private mode') : undefined; + + return; + } + + throw error; + } +} + +function readState(key) { + var json = undefined; + try { + json = window.sessionStorage.getItem(createKey(key)); + } catch (error) { + if (error.name === SecurityError) { + // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any + // attempt to access window.sessionStorage. + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] Unable to read state; sessionStorage is not available due to security settings') : undefined; + + return null; + } + } + + if (json) { + try { + return JSON.parse(json); + } catch (error) { + // Ignore invalid JSON. + } + } + + return null; +} +}).call(this,require('_process')) + +},{"_process":23,"warning":232}],9:[function(require,module,exports){ +'use strict'; + +exports.__esModule = true; +exports.addEventListener = addEventListener; +exports.removeEventListener = removeEventListener; +exports.getHashPath = getHashPath; +exports.replaceHashPath = replaceHashPath; +exports.getWindowPath = getWindowPath; +exports.go = go; +exports.getUserConfirmation = getUserConfirmation; +exports.supportsHistory = supportsHistory; +exports.supportsGoWithoutReloadUsingHash = supportsGoWithoutReloadUsingHash; + +function addEventListener(node, event, listener) { + if (node.addEventListener) { + node.addEventListener(event, listener, false); + } else { + node.attachEvent('on' + event, listener); + } +} + +function removeEventListener(node, event, listener) { + if (node.removeEventListener) { + node.removeEventListener(event, listener, false); + } else { + node.detachEvent('on' + event, listener); + } +} + +function getHashPath() { + // We can't use window.location.hash here because it's not + // consistent across browsers - Firefox will pre-decode it! + return window.location.href.split('#')[1] || ''; +} + +function replaceHashPath(path) { + window.location.replace(window.location.pathname + window.location.search + '#' + path); +} + +function getWindowPath() { + return window.location.pathname + window.location.search + window.location.hash; +} + +function go(n) { + if (n) window.history.go(n); +} + +function getUserConfirmation(message, callback) { + callback(window.confirm(message)); +} + +/** + * Returns true if the HTML5 history API is supported. Taken from Modernizr. + * + * https://github.com/Modernizr/Modernizr/blob/master/LICENSE + * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js + * changed to avoid false negatives for Windows Phones: https://github.com/rackt/react-router/issues/586 + */ + +function supportsHistory() { + var ua = navigator.userAgent; + if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) { + return false; + } + return window.history && 'pushState' in window.history; +} + +/** + * Returns false if using go(n) with hash history causes a full page reload. + */ + +function supportsGoWithoutReloadUsingHash() { + var ua = navigator.userAgent; + return ua.indexOf('Firefox') === -1; +} +},{}],10:[function(require,module,exports){ +'use strict'; + +exports.__esModule = true; +var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); +exports.canUseDOM = canUseDOM; +},{}],11:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; +exports.extractPath = extractPath; +exports.parsePath = parsePath; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +function extractPath(string) { + var match = string.match(/^https?:\/\/[^\/]*/); + + if (match == null) return string; + + return string.substring(match[0].length); +} + +function parsePath(path) { + var pathname = extractPath(path); + var search = ''; + var hash = ''; + + process.env.NODE_ENV !== 'production' ? _warning2['default'](path === pathname, 'A path must be pathname + search + hash only, not a fully qualified URL like "%s"', path) : undefined; + + var hashIndex = pathname.indexOf('#'); + if (hashIndex !== -1) { + hash = pathname.substring(hashIndex); + pathname = pathname.substring(0, hashIndex); + } + + var searchIndex = pathname.indexOf('?'); + if (searchIndex !== -1) { + search = pathname.substring(searchIndex); + pathname = pathname.substring(0, searchIndex); + } + + if (pathname === '') pathname = '/'; + + return { + pathname: pathname, + search: search, + hash: hash + }; +} +}).call(this,require('_process')) + +},{"_process":23,"warning":232}],12:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _invariant = require('invariant'); + +var _invariant2 = _interopRequireDefault(_invariant); + +var _Actions = require('./Actions'); + +var _PathUtils = require('./PathUtils'); + +var _ExecutionEnvironment = require('./ExecutionEnvironment'); + +var _DOMUtils = require('./DOMUtils'); + +var _DOMStateStorage = require('./DOMStateStorage'); + +var _createDOMHistory = require('./createDOMHistory'); + +var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); + +/** + * Creates and returns a history object that uses HTML5's history API + * (pushState, replaceState, and the popstate event) to manage history. + * This is the recommended method of managing history in browsers because + * it provides the cleanest URLs. + * + * Note: In browsers that do not support the HTML5 history API full + * page reloads will be used to preserve URLs. + */ +function createBrowserHistory() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Browser history needs a DOM') : _invariant2['default'](false) : undefined; + + var forceRefresh = options.forceRefresh; + + var isSupported = _DOMUtils.supportsHistory(); + var useRefresh = !isSupported || forceRefresh; + + function getCurrentLocation(historyState) { + historyState = historyState || window.history.state || {}; + + var path = _DOMUtils.getWindowPath(); + var _historyState = historyState; + var key = _historyState.key; + + var state = undefined; + if (key) { + state = _DOMStateStorage.readState(key); + } else { + state = null; + key = history.createKey(); + + if (isSupported) window.history.replaceState(_extends({}, historyState, { key: key }), null, path); + } + + var location = _PathUtils.parsePath(path); + + return history.createLocation(_extends({}, location, { state: state }), undefined, key); + } + + function startPopStateListener(_ref) { + var transitionTo = _ref.transitionTo; + + function popStateListener(event) { + if (event.state === undefined) return; // Ignore extraneous popstate events in WebKit. + + transitionTo(getCurrentLocation(event.state)); + } + + _DOMUtils.addEventListener(window, 'popstate', popStateListener); + + return function () { + _DOMUtils.removeEventListener(window, 'popstate', popStateListener); + }; + } + + function finishTransition(location) { + var basename = location.basename; + var pathname = location.pathname; + var search = location.search; + var hash = location.hash; + var state = location.state; + var action = location.action; + var key = location.key; + + if (action === _Actions.POP) return; // Nothing to do. + + _DOMStateStorage.saveState(key, state); + + var path = (basename || '') + pathname + search + hash; + var historyState = { + key: key + }; + + if (action === _Actions.PUSH) { + if (useRefresh) { + window.location.href = path; + return false; // Prevent location update. + } else { + window.history.pushState(historyState, null, path); + } + } else { + // REPLACE + if (useRefresh) { + window.location.replace(path); + return false; // Prevent location update. + } else { + window.history.replaceState(historyState, null, path); + } + } + } + + var history = _createDOMHistory2['default'](_extends({}, options, { + getCurrentLocation: getCurrentLocation, + finishTransition: finishTransition, + saveState: _DOMStateStorage.saveState + })); + + var listenerCount = 0, + stopPopStateListener = undefined; + + function listenBefore(listener) { + if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); + + var unlisten = history.listenBefore(listener); + + return function () { + unlisten(); + + if (--listenerCount === 0) stopPopStateListener(); + }; + } + + function listen(listener) { + if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); + + var unlisten = history.listen(listener); + + return function () { + unlisten(); + + if (--listenerCount === 0) stopPopStateListener(); + }; + } + + // deprecated + function registerTransitionHook(hook) { + if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); + + history.registerTransitionHook(hook); + } + + // deprecated + function unregisterTransitionHook(hook) { + history.unregisterTransitionHook(hook); + + if (--listenerCount === 0) stopPopStateListener(); + } + + return _extends({}, history, { + listenBefore: listenBefore, + listen: listen, + registerTransitionHook: registerTransitionHook, + unregisterTransitionHook: unregisterTransitionHook + }); +} + +exports['default'] = createBrowserHistory; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./Actions":6,"./DOMStateStorage":8,"./DOMUtils":9,"./ExecutionEnvironment":10,"./PathUtils":11,"./createDOMHistory":13,"_process":23,"invariant":22}],13:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _invariant = require('invariant'); + +var _invariant2 = _interopRequireDefault(_invariant); + +var _ExecutionEnvironment = require('./ExecutionEnvironment'); + +var _DOMUtils = require('./DOMUtils'); + +var _createHistory = require('./createHistory'); + +var _createHistory2 = _interopRequireDefault(_createHistory); + +function createDOMHistory(options) { + var history = _createHistory2['default'](_extends({ + getUserConfirmation: _DOMUtils.getUserConfirmation + }, options, { + go: _DOMUtils.go + })); + + function listen(listener) { + !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'DOM history needs a DOM') : _invariant2['default'](false) : undefined; + + return history.listen(listener); + } + + return _extends({}, history, { + listen: listen + }); +} + +exports['default'] = createDOMHistory; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./DOMUtils":9,"./ExecutionEnvironment":10,"./createHistory":15,"_process":23,"invariant":22}],14:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +var _invariant = require('invariant'); + +var _invariant2 = _interopRequireDefault(_invariant); + +var _Actions = require('./Actions'); + +var _PathUtils = require('./PathUtils'); + +var _ExecutionEnvironment = require('./ExecutionEnvironment'); + +var _DOMUtils = require('./DOMUtils'); + +var _DOMStateStorage = require('./DOMStateStorage'); + +var _createDOMHistory = require('./createDOMHistory'); + +var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); + +function isAbsolutePath(path) { + return typeof path === 'string' && path.charAt(0) === '/'; +} + +function ensureSlash() { + var path = _DOMUtils.getHashPath(); + + if (isAbsolutePath(path)) return true; + + _DOMUtils.replaceHashPath('/' + path); + + return false; +} + +function addQueryStringValueToPath(path, key, value) { + return path + (path.indexOf('?') === -1 ? '?' : '&') + (key + '=' + value); +} + +function stripQueryStringValueFromPath(path, key) { + return path.replace(new RegExp('[?&]?' + key + '=[a-zA-Z0-9]+'), ''); +} + +function getQueryStringValueFromPath(path, key) { + var match = path.match(new RegExp('\\?.*?\\b' + key + '=(.+?)\\b')); + return match && match[1]; +} + +var DefaultQueryKey = '_k'; + +function createHashHistory() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Hash history needs a DOM') : _invariant2['default'](false) : undefined; + + var queryKey = options.queryKey; + + if (queryKey === undefined || !!queryKey) queryKey = typeof queryKey === 'string' ? queryKey : DefaultQueryKey; + + function getCurrentLocation() { + var path = _DOMUtils.getHashPath(); + + var key = undefined, + state = undefined; + if (queryKey) { + key = getQueryStringValueFromPath(path, queryKey); + path = stripQueryStringValueFromPath(path, queryKey); + + if (key) { + state = _DOMStateStorage.readState(key); + } else { + state = null; + key = history.createKey(); + _DOMUtils.replaceHashPath(addQueryStringValueToPath(path, queryKey, key)); + } + } else { + key = state = null; + } + + var location = _PathUtils.parsePath(path); + + return history.createLocation(_extends({}, location, { state: state }), undefined, key); + } + + function startHashChangeListener(_ref) { + var transitionTo = _ref.transitionTo; + + function hashChangeListener() { + if (!ensureSlash()) return; // Always make sure hashes are preceeded with a /. + + transitionTo(getCurrentLocation()); + } + + ensureSlash(); + _DOMUtils.addEventListener(window, 'hashchange', hashChangeListener); + + return function () { + _DOMUtils.removeEventListener(window, 'hashchange', hashChangeListener); + }; + } + + function finishTransition(location) { + var basename = location.basename; + var pathname = location.pathname; + var search = location.search; + var state = location.state; + var action = location.action; + var key = location.key; + + if (action === _Actions.POP) return; // Nothing to do. + + var path = (basename || '') + pathname + search; + + if (queryKey) { + path = addQueryStringValueToPath(path, queryKey, key); + _DOMStateStorage.saveState(key, state); + } else { + // Drop key and state. + location.key = location.state = null; + } + + var currentHash = _DOMUtils.getHashPath(); + + if (action === _Actions.PUSH) { + if (currentHash !== path) { + window.location.hash = path; + } else { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'You cannot PUSH the same path using hash history') : undefined; + } + } else if (currentHash !== path) { + // REPLACE + _DOMUtils.replaceHashPath(path); + } + } + + var history = _createDOMHistory2['default'](_extends({}, options, { + getCurrentLocation: getCurrentLocation, + finishTransition: finishTransition, + saveState: _DOMStateStorage.saveState + })); + + var listenerCount = 0, + stopHashChangeListener = undefined; + + function listenBefore(listener) { + if (++listenerCount === 1) stopHashChangeListener = startHashChangeListener(history); + + var unlisten = history.listenBefore(listener); + + return function () { + unlisten(); + + if (--listenerCount === 0) stopHashChangeListener(); + }; + } + + function listen(listener) { + if (++listenerCount === 1) stopHashChangeListener = startHashChangeListener(history); + + var unlisten = history.listen(listener); + + return function () { + unlisten(); + + if (--listenerCount === 0) stopHashChangeListener(); + }; + } + + function push(location) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || location.state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; + + history.push(location); + } + + function replace(location) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || location.state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; + + history.replace(location); + } + + var goIsSupportedWithoutReload = _DOMUtils.supportsGoWithoutReloadUsingHash(); + + function go(n) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](goIsSupportedWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : undefined; + + history.go(n); + } + + function createHref(path) { + return '#' + history.createHref(path); + } + + // deprecated + function registerTransitionHook(hook) { + if (++listenerCount === 1) stopHashChangeListener = startHashChangeListener(history); + + history.registerTransitionHook(hook); + } + + // deprecated + function unregisterTransitionHook(hook) { + history.unregisterTransitionHook(hook); + + if (--listenerCount === 0) stopHashChangeListener(); + } + + // deprecated + function pushState(state, path) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; + + history.pushState(state, path); + } + + // deprecated + function replaceState(state, path) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; + + history.replaceState(state, path); + } + + return _extends({}, history, { + listenBefore: listenBefore, + listen: listen, + push: push, + replace: replace, + go: go, + createHref: createHref, + + registerTransitionHook: registerTransitionHook, // deprecated - warning is in createHistory + unregisterTransitionHook: unregisterTransitionHook, // deprecated - warning is in createHistory + pushState: pushState, // deprecated - warning is in createHistory + replaceState: replaceState // deprecated - warning is in createHistory + }); +} + +exports['default'] = createHashHistory; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./Actions":6,"./DOMStateStorage":8,"./DOMUtils":9,"./ExecutionEnvironment":10,"./PathUtils":11,"./createDOMHistory":13,"_process":23,"invariant":22,"warning":232}],15:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +var _deepEqual = require('deep-equal'); + +var _deepEqual2 = _interopRequireDefault(_deepEqual); + +var _PathUtils = require('./PathUtils'); + +var _AsyncUtils = require('./AsyncUtils'); + +var _Actions = require('./Actions'); + +var _createLocation2 = require('./createLocation'); + +var _createLocation3 = _interopRequireDefault(_createLocation2); + +var _runTransitionHook = require('./runTransitionHook'); + +var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); + +var _deprecate = require('./deprecate'); + +var _deprecate2 = _interopRequireDefault(_deprecate); + +function createRandomKey(length) { + return Math.random().toString(36).substr(2, length); +} + +function locationsAreEqual(a, b) { + return a.pathname === b.pathname && a.search === b.search && + //a.action === b.action && // Different action !== location change. + a.key === b.key && _deepEqual2['default'](a.state, b.state); +} + +var DefaultKeyLength = 6; + +function createHistory() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + var getCurrentLocation = options.getCurrentLocation; + var finishTransition = options.finishTransition; + var saveState = options.saveState; + var go = options.go; + var keyLength = options.keyLength; + var getUserConfirmation = options.getUserConfirmation; + + if (typeof keyLength !== 'number') keyLength = DefaultKeyLength; + + var transitionHooks = []; + + function listenBefore(hook) { + transitionHooks.push(hook); + + return function () { + transitionHooks = transitionHooks.filter(function (item) { + return item !== hook; + }); + }; + } + + var allKeys = []; + var changeListeners = []; + var location = undefined; + + function getCurrent() { + if (pendingLocation && pendingLocation.action === _Actions.POP) { + return allKeys.indexOf(pendingLocation.key); + } else if (location) { + return allKeys.indexOf(location.key); + } else { + return -1; + } + } + + function updateLocation(newLocation) { + var current = getCurrent(); + + location = newLocation; + + if (location.action === _Actions.PUSH) { + allKeys = [].concat(allKeys.slice(0, current + 1), [location.key]); + } else if (location.action === _Actions.REPLACE) { + allKeys[current] = location.key; + } + + changeListeners.forEach(function (listener) { + listener(location); + }); + } + + function listen(listener) { + changeListeners.push(listener); + + if (location) { + listener(location); + } else { + var _location = getCurrentLocation(); + allKeys = [_location.key]; + updateLocation(_location); + } + + return function () { + changeListeners = changeListeners.filter(function (item) { + return item !== listener; + }); + }; + } + + function confirmTransitionTo(location, callback) { + _AsyncUtils.loopAsync(transitionHooks.length, function (index, next, done) { + _runTransitionHook2['default'](transitionHooks[index], location, function (result) { + if (result != null) { + done(result); + } else { + next(); + } + }); + }, function (message) { + if (getUserConfirmation && typeof message === 'string') { + getUserConfirmation(message, function (ok) { + callback(ok !== false); + }); + } else { + callback(message !== false); + } + }); + } + + var pendingLocation = undefined; + + function transitionTo(nextLocation) { + if (location && locationsAreEqual(location, nextLocation)) return; // Nothing to do. + + pendingLocation = nextLocation; + + confirmTransitionTo(nextLocation, function (ok) { + if (pendingLocation !== nextLocation) return; // Transition was interrupted. + + if (ok) { + // treat PUSH to current path like REPLACE to be consistent with browsers + if (nextLocation.action === _Actions.PUSH) { + var prevPath = createPath(location); + var nextPath = createPath(nextLocation); + + if (nextPath === prevPath && _deepEqual2['default'](location.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE; + } + + if (finishTransition(nextLocation) !== false) updateLocation(nextLocation); + } else if (location && nextLocation.action === _Actions.POP) { + var prevIndex = allKeys.indexOf(location.key); + var nextIndex = allKeys.indexOf(nextLocation.key); + + if (prevIndex !== -1 && nextIndex !== -1) go(prevIndex - nextIndex); // Restore the URL. + } + }); + } + + function push(location) { + transitionTo(createLocation(location, _Actions.PUSH, createKey())); + } + + function replace(location) { + transitionTo(createLocation(location, _Actions.REPLACE, createKey())); + } + + function goBack() { + go(-1); + } + + function goForward() { + go(1); + } + + function createKey() { + return createRandomKey(keyLength); + } + + function createPath(location) { + if (location == null || typeof location === 'string') return location; + + var pathname = location.pathname; + var search = location.search; + var hash = location.hash; + + var result = pathname; + + if (search) result += search; + + if (hash) result += hash; + + return result; + } + + function createHref(location) { + return createPath(location); + } + + function createLocation(location, action) { + var key = arguments.length <= 2 || arguments[2] === undefined ? createKey() : arguments[2]; + + if (typeof action === 'object') { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'The state (2nd) argument to history.createLocation is deprecated; use a ' + 'location descriptor instead') : undefined; + + if (typeof location === 'string') location = _PathUtils.parsePath(location); + + location = _extends({}, location, { state: action }); + + action = key; + key = arguments[3] || createKey(); + } + + return _createLocation3['default'](location, action, key); + } + + // deprecated + function setState(state) { + if (location) { + updateLocationState(location, state); + updateLocation(location); + } else { + updateLocationState(getCurrentLocation(), state); + } + } + + function updateLocationState(location, state) { + location.state = _extends({}, location.state, state); + saveState(location.key, location.state); + } + + // deprecated + function registerTransitionHook(hook) { + if (transitionHooks.indexOf(hook) === -1) transitionHooks.push(hook); + } + + // deprecated + function unregisterTransitionHook(hook) { + transitionHooks = transitionHooks.filter(function (item) { + return item !== hook; + }); + } + + // deprecated + function pushState(state, path) { + if (typeof path === 'string') path = _PathUtils.parsePath(path); + + push(_extends({ state: state }, path)); + } + + // deprecated + function replaceState(state, path) { + if (typeof path === 'string') path = _PathUtils.parsePath(path); + + replace(_extends({ state: state }, path)); + } + + return { + listenBefore: listenBefore, + listen: listen, + transitionTo: transitionTo, + push: push, + replace: replace, + go: go, + goBack: goBack, + goForward: goForward, + createKey: createKey, + createPath: createPath, + createHref: createHref, + createLocation: createLocation, + + setState: _deprecate2['default'](setState, 'setState is deprecated; use location.key to save state instead'), + registerTransitionHook: _deprecate2['default'](registerTransitionHook, 'registerTransitionHook is deprecated; use listenBefore instead'), + unregisterTransitionHook: _deprecate2['default'](unregisterTransitionHook, 'unregisterTransitionHook is deprecated; use the callback returned from listenBefore instead'), + pushState: _deprecate2['default'](pushState, 'pushState is deprecated; use push instead'), + replaceState: _deprecate2['default'](replaceState, 'replaceState is deprecated; use replace instead') + }; +} + +exports['default'] = createHistory; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./Actions":6,"./AsyncUtils":7,"./PathUtils":11,"./createLocation":16,"./deprecate":18,"./runTransitionHook":19,"_process":23,"deep-equal":1,"warning":232}],16:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +var _Actions = require('./Actions'); + +var _PathUtils = require('./PathUtils'); + +function createLocation() { + var location = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0]; + var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1]; + var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; + + var _fourthArg = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3]; + + if (typeof location === 'string') location = _PathUtils.parsePath(location); + + if (typeof action === 'object') { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'The state (2nd) argument to createLocation is deprecated; use a ' + 'location descriptor instead') : undefined; + + location = _extends({}, location, { state: action }); + + action = key || _Actions.POP; + key = _fourthArg; + } + + var pathname = location.pathname || '/'; + var search = location.search || ''; + var hash = location.hash || ''; + var state = location.state || null; + + return { + pathname: pathname, + search: search, + hash: hash, + state: state, + action: action, + key: key + }; +} + +exports['default'] = createLocation; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./Actions":6,"./PathUtils":11,"_process":23,"warning":232}],17:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +var _invariant = require('invariant'); + +var _invariant2 = _interopRequireDefault(_invariant); + +var _PathUtils = require('./PathUtils'); + +var _Actions = require('./Actions'); + +var _createHistory = require('./createHistory'); + +var _createHistory2 = _interopRequireDefault(_createHistory); + +function createStateStorage(entries) { + return entries.filter(function (entry) { + return entry.state; + }).reduce(function (memo, entry) { + memo[entry.key] = entry.state; + return memo; + }, {}); +} + +function createMemoryHistory() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + if (Array.isArray(options)) { + options = { entries: options }; + } else if (typeof options === 'string') { + options = { entries: [options] }; + } + + var history = _createHistory2['default'](_extends({}, options, { + getCurrentLocation: getCurrentLocation, + finishTransition: finishTransition, + saveState: saveState, + go: go + })); + + var _options = options; + var entries = _options.entries; + var current = _options.current; + + if (typeof entries === 'string') { + entries = [entries]; + } else if (!Array.isArray(entries)) { + entries = ['/']; + } + + entries = entries.map(function (entry) { + var key = history.createKey(); + + if (typeof entry === 'string') return { pathname: entry, key: key }; + + if (typeof entry === 'object' && entry) return _extends({}, entry, { key: key }); + + !false ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Unable to create history entry from %s', entry) : _invariant2['default'](false) : undefined; + }); + + if (current == null) { + current = entries.length - 1; + } else { + !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : _invariant2['default'](false) : undefined; + } + + var storage = createStateStorage(entries); + + function saveState(key, state) { + storage[key] = state; + } + + function readState(key) { + return storage[key]; + } + + function getCurrentLocation() { + var entry = entries[current]; + var key = entry.key; + var basename = entry.basename; + var pathname = entry.pathname; + var search = entry.search; + + var path = (basename || '') + pathname + (search || ''); + + var state = undefined; + if (key) { + state = readState(key); + } else { + state = null; + key = history.createKey(); + entry.key = key; + } + + var location = _PathUtils.parsePath(path); + + return history.createLocation(_extends({}, location, { state: state }), undefined, key); + } + + function canGo(n) { + var index = current + n; + return index >= 0 && index < entries.length; + } + + function go(n) { + if (n) { + if (!canGo(n)) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'Cannot go(%s) there is not enough history', n) : undefined; + return; + } + + current += n; + + var currentLocation = getCurrentLocation(); + + // change action to POP + history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP })); + } + } + + function finishTransition(location) { + switch (location.action) { + case _Actions.PUSH: + current += 1; + + // if we are not on the top of stack + // remove rest and push new + if (current < entries.length) entries.splice(current); + + entries.push(location); + saveState(location.key, location.state); + break; + case _Actions.REPLACE: + entries[current] = location; + saveState(location.key, location.state); + break; + } + } + + return history; +} + +exports['default'] = createMemoryHistory; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./Actions":6,"./PathUtils":11,"./createHistory":15,"_process":23,"invariant":22,"warning":232}],18:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +function deprecate(fn, message) { + return function () { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] ' + message) : undefined; + return fn.apply(this, arguments); + }; +} + +exports['default'] = deprecate; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"_process":23,"warning":232}],19:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +function runTransitionHook(hook, location, callback) { + var result = hook(location, callback); + + if (hook.length < 2) { + // Assume the hook runs synchronously and automatically + // call the callback with the return value. + callback(result); + } else { + process.env.NODE_ENV !== 'production' ? _warning2['default'](result === undefined, 'You should not "return" in a transition hook with a callback argument; call the callback instead') : undefined; + } +} + +exports['default'] = runTransitionHook; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"_process":23,"warning":232}],20:[function(require,module,exports){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } + +var _ExecutionEnvironment = require('./ExecutionEnvironment'); + +var _PathUtils = require('./PathUtils'); + +var _runTransitionHook = require('./runTransitionHook'); + +var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); + +var _deprecate = require('./deprecate'); + +var _deprecate2 = _interopRequireDefault(_deprecate); + +function useBasename(createHistory) { + return function () { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + var basename = options.basename; + + var historyOptions = _objectWithoutProperties(options, ['basename']); + + var history = createHistory(historyOptions); + + // Automatically use the value of <base href> in HTML + // documents as basename if it's not explicitly given. + if (basename == null && _ExecutionEnvironment.canUseDOM) { + var base = document.getElementsByTagName('base')[0]; + + if (base) basename = _PathUtils.extractPath(base.href); + } + + function addBasename(location) { + if (basename && location.basename == null) { + if (location.pathname.indexOf(basename) === 0) { + location.pathname = location.pathname.substring(basename.length); + location.basename = basename; + + if (location.pathname === '') location.pathname = '/'; + } else { + location.basename = ''; + } + } + + return location; + } + + function prependBasename(location) { + if (!basename) return location; + + if (typeof location === 'string') location = _PathUtils.parsePath(location); + + var pname = location.pathname; + var normalizedBasename = basename.slice(-1) === '/' ? basename : basename + '/'; + var normalizedPathname = pname.charAt(0) === '/' ? pname.slice(1) : pname; + var pathname = normalizedBasename + normalizedPathname; + + return _extends({}, location, { + pathname: pathname + }); + } + + // Override all read methods with basename-aware versions. + function listenBefore(hook) { + return history.listenBefore(function (location, callback) { + _runTransitionHook2['default'](hook, addBasename(location), callback); + }); + } + + function listen(listener) { + return history.listen(function (location) { + listener(addBasename(location)); + }); + } + + // Override all write methods with basename-aware versions. + function push(location) { + history.push(prependBasename(location)); + } + + function replace(location) { + history.replace(prependBasename(location)); + } + + function createPath(location) { + return history.createPath(prependBasename(location)); + } + + function createHref(location) { + return history.createHref(prependBasename(location)); + } + + function createLocation(location) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return addBasename(history.createLocation.apply(history, [prependBasename(location)].concat(args))); + } + + // deprecated + function pushState(state, path) { + if (typeof path === 'string') path = _PathUtils.parsePath(path); + + push(_extends({ state: state }, path)); + } + + // deprecated + function replaceState(state, path) { + if (typeof path === 'string') path = _PathUtils.parsePath(path); + + replace(_extends({ state: state }, path)); + } + + return _extends({}, history, { + listenBefore: listenBefore, + listen: listen, + push: push, + replace: replace, + createPath: createPath, + createHref: createHref, + createLocation: createLocation, + + pushState: _deprecate2['default'](pushState, 'pushState is deprecated; use push instead'), + replaceState: _deprecate2['default'](replaceState, 'replaceState is deprecated; use replace instead') + }); + }; +} + +exports['default'] = useBasename; +module.exports = exports['default']; +},{"./ExecutionEnvironment":10,"./PathUtils":11,"./deprecate":18,"./runTransitionHook":19}],21:[function(require,module,exports){ +(function (process){ +'use strict'; + +exports.__esModule = true; + +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; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } + +var _warning = require('warning'); + +var _warning2 = _interopRequireDefault(_warning); + +var _queryString = require('query-string'); + +var _runTransitionHook = require('./runTransitionHook'); + +var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); + +var _PathUtils = require('./PathUtils'); + +var _deprecate = require('./deprecate'); + +var _deprecate2 = _interopRequireDefault(_deprecate); + +var SEARCH_BASE_KEY = '$searchBase'; + +function defaultStringifyQuery(query) { + return _queryString.stringify(query).replace(/%20/g, '+'); +} + +var defaultParseQueryString = _queryString.parse; + +function isNestedObject(object) { + for (var p in object) { + if (object.hasOwnProperty(p) && typeof object[p] === 'object' && !Array.isArray(object[p]) && object[p] !== null) return true; + }return false; +} + +/** + * Returns a new createHistory function that may be used to create + * history objects that know how to handle URL queries. + */ +function useQueries(createHistory) { + return function () { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + var stringifyQuery = options.stringifyQuery; + var parseQueryString = options.parseQueryString; + + var historyOptions = _objectWithoutProperties(options, ['stringifyQuery', 'parseQueryString']); + + var history = createHistory(historyOptions); + + if (typeof stringifyQuery !== 'function') stringifyQuery = defaultStringifyQuery; + + if (typeof parseQueryString !== 'function') parseQueryString = defaultParseQueryString; + + function addQuery(location) { + if (location.query == null) { + var search = location.search; + + location.query = parseQueryString(search.substring(1)); + location[SEARCH_BASE_KEY] = { search: search, searchBase: '' }; + } + + // TODO: Instead of all the book-keeping here, this should just strip the + // stringified query from the search. + + return location; + } + + function appendQuery(location, query) { + var _extends2; + + var searchBaseSpec = location[SEARCH_BASE_KEY]; + var queryString = query ? stringifyQuery(query) : ''; + if (!searchBaseSpec && !queryString) { + return location; + } + + process.env.NODE_ENV !== 'production' ? _warning2['default'](stringifyQuery !== defaultStringifyQuery || !isNestedObject(query), 'useQueries does not stringify nested query objects by default; ' + 'use a custom stringifyQuery function') : undefined; + + if (typeof location === 'string') location = _PathUtils.parsePath(location); + + var searchBase = undefined; + if (searchBaseSpec && location.search === searchBaseSpec.search) { + searchBase = searchBaseSpec.searchBase; + } else { + searchBase = location.search || ''; + } + + var search = searchBase; + if (queryString) { + search += (search ? '&' : '?') + queryString; + } + + return _extends({}, location, (_extends2 = { + search: search + }, _extends2[SEARCH_BASE_KEY] = { search: search, searchBase: searchBase }, _extends2)); + } + + // Override all read methods with query-aware versions. + function listenBefore(hook) { + return history.listenBefore(function (location, callback) { + _runTransitionHook2['default'](hook, addQuery(location), callback); + }); + } + + function listen(listener) { + return history.listen(function (location) { + listener(addQuery(location)); + }); + } + + // Override all write methods with query-aware versions. + function push(location) { + history.push(appendQuery(location, location.query)); + } + + function replace(location) { + history.replace(appendQuery(location, location.query)); + } + + function createPath(location, query) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](!query, 'the query argument to createPath is deprecated; use a location descriptor instead') : undefined; + + return history.createPath(appendQuery(location, query || location.query)); + } + + function createHref(location, query) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](!query, 'the query argument to createHref is deprecated; use a location descriptor instead') : undefined; + + return history.createHref(appendQuery(location, query || location.query)); + } + + function createLocation(location) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var fullLocation = history.createLocation.apply(history, [appendQuery(location, location.query)].concat(args)); + if (location.query) { + fullLocation.query = location.query; + } + return addQuery(fullLocation); + } + + // deprecated + function pushState(state, path, query) { + if (typeof path === 'string') path = _PathUtils.parsePath(path); + + push(_extends({ state: state }, path, { query: query })); + } + + // deprecated + function replaceState(state, path, query) { + if (typeof path === 'string') path = _PathUtils.parsePath(path); + + replace(_extends({ state: state }, path, { query: query })); + } + + return _extends({}, history, { + listenBefore: listenBefore, + listen: listen, + push: push, + replace: replace, + createPath: createPath, + createHref: createHref, + createLocation: createLocation, + + pushState: _deprecate2['default'](pushState, 'pushState is deprecated; use push instead'), + replaceState: _deprecate2['default'](replaceState, 'replaceState is deprecated; use replace instead') + }); + }; +} + +exports['default'] = useQueries; +module.exports = exports['default']; +}).call(this,require('_process')) + +},{"./PathUtils":11,"./deprecate":18,"./runTransitionHook":19,"_process":23,"query-string":24,"warning":232}],22:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -335,11 +2044,9 @@ module.exports = Dispatcher; * 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 invariant */ -"use strict"; +'use strict'; /** * Use invariant() to assert state which your program assumes to be true. @@ -352,7 +2059,7 @@ module.exports = Dispatcher; * will remain to ensure logic does not differ in production. */ -var invariant = function (condition, format, a, b, c, d, e, f) { +var invariant = function(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'); @@ -362,13 +2069,17 @@ var invariant = function (condition, format, a, b, c, d, e, f) { 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.'); + 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('Invariant Violation: ' + format.replace(/%s/g, function () { - return args[argIndex++]; - })); + 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 @@ -377,9 +2088,171 @@ var invariant = function (condition, format, a, b, c, d, e, f) { }; module.exports = invariant; + }).call(this,require('_process')) -},{"_process":1}],4:[function(require,module,exports){ +},{"_process":23}],23:[function(require,module,exports){ +// shim for using process in browser + +var process = module.exports = {}; +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = setTimeout(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; + clearTimeout(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) { + setTimeout(drainQueue, 0); + } +}; + +// 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; }; + +},{}],24:[function(require,module,exports){ +'use strict'; +var strictUriEncode = require('strict-uri-encode'); + +exports.extract = function (str) { + return str.split('?')[1] || ''; +}; + +exports.parse = function (str) { + if (typeof str !== 'string') { + return {}; + } + + str = str.trim().replace(/^(\?|#|&)/, ''); + + if (!str) { + return {}; + } + + return str.split('&').reduce(function (ret, param) { + var parts = param.replace(/\+/g, ' ').split('='); + // Firefox (pre 40) decodes `%3D` to `=` + // https://github.com/sindresorhus/query-string/pull/37 + var key = parts.shift(); + var val = parts.length > 0 ? parts.join('=') : undefined; + + key = decodeURIComponent(key); + + // missing `=` should be `null`: + // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters + val = val === undefined ? null : decodeURIComponent(val); + + if (!ret.hasOwnProperty(key)) { + ret[key] = val; + } else if (Array.isArray(ret[key])) { + ret[key].push(val); + } else { + ret[key] = [ret[key], val]; + } + + return ret; + }, {}); +}; + +exports.stringify = function (obj) { + return obj ? Object.keys(obj).sort().map(function (key) { + var val = obj[key]; + + if (val === undefined) { + return ''; + } + + if (val === null) { + return key; + } + + if (Array.isArray(val)) { + return val.slice().sort().map(function (val2) { + return strictUriEncode(key) + '=' + strictUriEncode(val2); + }).join('&'); + } + + return strictUriEncode(key) + '=' + strictUriEncode(val); + }).filter(function (x) { + return x.length > 0; + }).join('&') : ''; +}; + +},{"strict-uri-encode":231}],25:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -470,7 +2343,7 @@ function mapAsync(array, work, callback) { }); }); } -},{}],5:[function(require,module,exports){ +},{}],26:[function(require,module,exports){ (function (process){ 'use strict'; @@ -504,7 +2377,7 @@ exports['default'] = History; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PropTypes":12,"./routerWarning":34,"_process":1}],6:[function(require,module,exports){ +},{"./PropTypes":33,"./routerWarning":55,"_process":23}],27:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -535,7 +2408,7 @@ var IndexLink = _react2['default'].createClass({ exports['default'] = IndexLink; module.exports = exports['default']; -},{"./Link":10,"react":"react"}],7:[function(require,module,exports){ +},{"./Link":31,"react":"react"}],28:[function(require,module,exports){ (function (process){ 'use strict'; @@ -603,7 +2476,7 @@ exports['default'] = IndexRedirect; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PropTypes":12,"./Redirect":13,"./routerWarning":34,"_process":1,"invariant":58,"react":"react"}],8:[function(require,module,exports){ +},{"./PropTypes":33,"./Redirect":34,"./routerWarning":55,"_process":23,"invariant":22,"react":"react"}],29:[function(require,module,exports){ (function (process){ 'use strict'; @@ -668,7 +2541,7 @@ exports['default'] = IndexRoute; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PropTypes":12,"./RouteUtils":16,"./routerWarning":34,"_process":1,"invariant":58,"react":"react"}],9:[function(require,module,exports){ +},{"./PropTypes":33,"./RouteUtils":37,"./routerWarning":55,"_process":23,"invariant":22,"react":"react"}],30:[function(require,module,exports){ (function (process){ 'use strict'; @@ -741,7 +2614,7 @@ exports['default'] = Lifecycle; module.exports = exports['default']; }).call(this,require('_process')) -},{"./routerWarning":34,"_process":1,"invariant":58,"react":"react"}],10:[function(require,module,exports){ +},{"./routerWarning":55,"_process":23,"invariant":22,"react":"react"}],31:[function(require,module,exports){ (function (process){ 'use strict'; @@ -909,7 +2782,7 @@ exports['default'] = Link; module.exports = exports['default']; }).call(this,require('_process')) -},{"./routerWarning":34,"_process":1,"react":"react"}],11:[function(require,module,exports){ +},{"./routerWarning":55,"_process":23,"react":"react"}],32:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1140,7 +3013,7 @@ function formatPattern(pattern, params) { } }).call(this,require('_process')) -},{"_process":1,"invariant":58}],12:[function(require,module,exports){ +},{"_process":23,"invariant":22}],33:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -1194,7 +3067,7 @@ exports['default'] = { components: components, route: route }; -},{"react":"react"}],13:[function(require,module,exports){ +},{"react":"react"}],34:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1301,7 +3174,7 @@ exports['default'] = Redirect; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PatternUtils":11,"./PropTypes":12,"./RouteUtils":16,"_process":1,"invariant":58,"react":"react"}],14:[function(require,module,exports){ +},{"./PatternUtils":32,"./PropTypes":33,"./RouteUtils":37,"_process":23,"invariant":22,"react":"react"}],35:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1361,7 +3234,7 @@ exports['default'] = Route; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PropTypes":12,"./RouteUtils":16,"_process":1,"invariant":58,"react":"react"}],15:[function(require,module,exports){ +},{"./PropTypes":33,"./RouteUtils":37,"_process":23,"invariant":22,"react":"react"}],36:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1411,7 +3284,7 @@ exports['default'] = RouteContext; module.exports = exports['default']; }).call(this,require('_process')) -},{"./routerWarning":34,"_process":1,"react":"react"}],16:[function(require,module,exports){ +},{"./routerWarning":55,"_process":23,"react":"react"}],37:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1529,7 +3402,7 @@ function createRoutes(routes) { } }).call(this,require('_process')) -},{"./routerWarning":34,"_process":1,"react":"react"}],17:[function(require,module,exports){ +},{"./routerWarning":55,"_process":23,"react":"react"}],38:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1743,7 +3616,7 @@ exports['default'] = Router; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PropTypes":12,"./RouteUtils":16,"./RouterContext":18,"./RouterUtils":19,"./createTransitionManager":26,"./routerWarning":34,"_process":1,"history/lib/createHashHistory":45,"history/lib/useQueries":52,"react":"react"}],18:[function(require,module,exports){ +},{"./PropTypes":33,"./RouteUtils":37,"./RouterContext":39,"./RouterUtils":40,"./createTransitionManager":47,"./routerWarning":55,"_process":23,"history/lib/createHashHistory":14,"history/lib/useQueries":21,"react":"react"}],39:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1901,7 +3774,7 @@ exports['default'] = RouterContext; module.exports = exports['default']; }).call(this,require('_process')) -},{"./RouteUtils":16,"./deprecateObjectProperties":27,"./getRouteParams":29,"./routerWarning":34,"_process":1,"invariant":58,"react":"react"}],19:[function(require,module,exports){ +},{"./RouteUtils":37,"./deprecateObjectProperties":48,"./getRouteParams":50,"./routerWarning":55,"_process":23,"invariant":22,"react":"react"}],40:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1938,7 +3811,7 @@ function createRoutingHistory(history, transitionManager) { } }).call(this,require('_process')) -},{"./deprecateObjectProperties":27,"_process":1}],20:[function(require,module,exports){ +},{"./deprecateObjectProperties":48,"_process":23}],41:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1974,7 +3847,7 @@ exports['default'] = RoutingContext; module.exports = exports['default']; }).call(this,require('_process')) -},{"./RouterContext":18,"./routerWarning":34,"_process":1,"react":"react"}],21:[function(require,module,exports){ +},{"./RouterContext":39,"./routerWarning":55,"_process":23,"react":"react"}],42:[function(require,module,exports){ (function (process){ 'use strict'; @@ -2067,7 +3940,7 @@ function runLeaveHooks(routes) { } }).call(this,require('_process')) -},{"./AsyncUtils":4,"./routerWarning":34,"_process":1}],22:[function(require,module,exports){ +},{"./AsyncUtils":25,"./routerWarning":55,"_process":23}],43:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2084,7 +3957,7 @@ var _createRouterHistory2 = _interopRequireDefault(_createRouterHistory); exports['default'] = _createRouterHistory2['default'](_historyLibCreateBrowserHistory2['default']); module.exports = exports['default']; -},{"./createRouterHistory":25,"history/lib/createBrowserHistory":43}],23:[function(require,module,exports){ +},{"./createRouterHistory":46,"history/lib/createBrowserHistory":12}],44:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2141,7 +4014,7 @@ function computeChangedRoutes(prevState, nextState) { exports['default'] = computeChangedRoutes; module.exports = exports['default']; -},{"./PatternUtils":11}],24:[function(require,module,exports){ +},{"./PatternUtils":32}],45:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2175,7 +4048,7 @@ function createMemoryHistory(options) { } module.exports = exports['default']; -},{"history/lib/createMemoryHistory":48,"history/lib/useBasename":51,"history/lib/useQueries":52}],25:[function(require,module,exports){ +},{"history/lib/createMemoryHistory":17,"history/lib/useBasename":20,"history/lib/useQueries":21}],46:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2195,7 +4068,7 @@ exports['default'] = function (createHistory) { }; module.exports = exports['default']; -},{"./useRouterHistory":35}],26:[function(require,module,exports){ +},{"./useRouterHistory":56}],47:[function(require,module,exports){ (function (process){ 'use strict'; @@ -2495,7 +4368,7 @@ function createTransitionManager(history, routes) { module.exports = exports['default']; }).call(this,require('_process')) -},{"./TransitionUtils":21,"./computeChangedRoutes":23,"./getComponents":28,"./isActive":31,"./matchRoutes":33,"./routerWarning":34,"_process":1,"history/lib/Actions":37}],27:[function(require,module,exports){ +},{"./TransitionUtils":42,"./computeChangedRoutes":44,"./getComponents":49,"./isActive":52,"./matchRoutes":54,"./routerWarning":55,"_process":23,"history/lib/Actions":6}],48:[function(require,module,exports){ (function (process){ /*eslint no-empty: 0*/ 'use strict'; @@ -2556,7 +4429,7 @@ function deprecateObjectProperties(object, message) { module.exports = exports['default']; }).call(this,require('_process')) -},{"./routerWarning":34,"_process":1}],28:[function(require,module,exports){ +},{"./routerWarning":55,"_process":23}],49:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2590,7 +4463,7 @@ function getComponents(nextState, callback) { exports['default'] = getComponents; module.exports = exports['default']; -},{"./AsyncUtils":4}],29:[function(require,module,exports){ +},{"./AsyncUtils":25}],50:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2615,7 +4488,7 @@ function getRouteParams(route, params) { exports['default'] = getRouteParams; module.exports = exports['default']; -},{"./PatternUtils":11}],30:[function(require,module,exports){ +},{"./PatternUtils":32}],51:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2632,7 +4505,7 @@ var _createRouterHistory2 = _interopRequireDefault(_createRouterHistory); exports['default'] = _createRouterHistory2['default'](_historyLibCreateHashHistory2['default']); module.exports = exports['default']; -},{"./createRouterHistory":25,"history/lib/createHashHistory":45}],31:[function(require,module,exports){ +},{"./createRouterHistory":46,"history/lib/createHashHistory":14}],52:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2760,7 +4633,7 @@ function isActive(_ref, indexOnly, currentLocation, routes, params) { } module.exports = exports['default']; -},{"./PatternUtils":11}],32:[function(require,module,exports){ +},{"./PatternUtils":32}],53:[function(require,module,exports){ (function (process){ 'use strict'; @@ -2845,7 +4718,7 @@ exports['default'] = match; module.exports = exports['default']; }).call(this,require('_process')) -},{"./RouteUtils":16,"./RouterUtils":19,"./createMemoryHistory":24,"./createTransitionManager":26,"_process":1,"invariant":58}],33:[function(require,module,exports){ +},{"./RouteUtils":37,"./RouterUtils":40,"./createMemoryHistory":45,"./createTransitionManager":47,"_process":23,"invariant":22}],54:[function(require,module,exports){ (function (process){ 'use strict'; @@ -3055,7 +4928,7 @@ exports['default'] = matchRoutes; module.exports = exports['default']; }).call(this,require('_process')) -},{"./AsyncUtils":4,"./PatternUtils":11,"./RouteUtils":16,"./routerWarning":34,"_process":1}],34:[function(require,module,exports){ +},{"./AsyncUtils":25,"./PatternUtils":32,"./RouteUtils":37,"./routerWarning":55,"_process":23}],55:[function(require,module,exports){ (function (process){ 'use strict'; @@ -3081,7 +4954,7 @@ function routerWarning(falseToWarn, message) { module.exports = exports['default']; }).call(this,require('_process')) -},{"_process":1,"warning":59}],35:[function(require,module,exports){ +},{"_process":23,"warning":232}],56:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -3106,7 +4979,7 @@ function useRouterHistory(createHistory) { } module.exports = exports['default']; -},{"history/lib/useBasename":51,"history/lib/useQueries":52}],36:[function(require,module,exports){ +},{"history/lib/useBasename":20,"history/lib/useQueries":21}],57:[function(require,module,exports){ (function (process){ 'use strict'; @@ -3161,1953 +5034,7 @@ exports['default'] = useRoutes; module.exports = exports['default']; }).call(this,require('_process')) -},{"./createTransitionManager":26,"./routerWarning":34,"_process":1,"history/lib/useQueries":52}],37:[function(require,module,exports){ -/** - * Indicates that navigation was caused by a call to history.push. - */ -'use strict'; - -exports.__esModule = true; -var PUSH = 'PUSH'; - -exports.PUSH = PUSH; -/** - * Indicates that navigation was caused by a call to history.replace. - */ -var REPLACE = 'REPLACE'; - -exports.REPLACE = REPLACE; -/** - * Indicates that navigation was caused by some other action such - * as using a browser's back/forward buttons and/or manually manipulating - * the URL in a browser's location bar. This is the default. - * - * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate - * for more information. - */ -var POP = 'POP'; - -exports.POP = POP; -exports['default'] = { - PUSH: PUSH, - REPLACE: REPLACE, - POP: POP -}; -},{}],38:[function(require,module,exports){ -"use strict"; - -exports.__esModule = true; -exports.loopAsync = loopAsync; - -function loopAsync(turns, work, callback) { - var currentTurn = 0; - var isDone = false; - - function done() { - isDone = true; - callback.apply(this, arguments); - } - - function next() { - if (isDone) return; - - if (currentTurn < turns) { - work.call(this, currentTurn++, next, done); - } else { - done.apply(this, arguments); - } - } - - next(); -} -},{}],39:[function(require,module,exports){ -(function (process){ -/*eslint-disable no-empty */ -'use strict'; - -exports.__esModule = true; -exports.saveState = saveState; -exports.readState = readState; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -var KeyPrefix = '@@History/'; -var QuotaExceededErrors = ['QuotaExceededError', 'QUOTA_EXCEEDED_ERR']; - -var SecurityError = 'SecurityError'; - -function createKey(key) { - return KeyPrefix + key; -} - -function saveState(key, state) { - try { - if (state == null) { - window.sessionStorage.removeItem(createKey(key)); - } else { - window.sessionStorage.setItem(createKey(key), JSON.stringify(state)); - } - } catch (error) { - if (error.name === SecurityError) { - // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any - // attempt to access window.sessionStorage. - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] Unable to save state; sessionStorage is not available due to security settings') : undefined; - - return; - } - - if (QuotaExceededErrors.indexOf(error.name) >= 0 && window.sessionStorage.length === 0) { - // Safari "private mode" throws QuotaExceededError. - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] Unable to save state; sessionStorage is not available in Safari private mode') : undefined; - - return; - } - - throw error; - } -} - -function readState(key) { - var json = undefined; - try { - json = window.sessionStorage.getItem(createKey(key)); - } catch (error) { - if (error.name === SecurityError) { - // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any - // attempt to access window.sessionStorage. - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] Unable to read state; sessionStorage is not available due to security settings') : undefined; - - return null; - } - } - - if (json) { - try { - return JSON.parse(json); - } catch (error) { - // Ignore invalid JSON. - } - } - - return null; -} -}).call(this,require('_process')) - -},{"_process":1,"warning":59}],40:[function(require,module,exports){ -'use strict'; - -exports.__esModule = true; -exports.addEventListener = addEventListener; -exports.removeEventListener = removeEventListener; -exports.getHashPath = getHashPath; -exports.replaceHashPath = replaceHashPath; -exports.getWindowPath = getWindowPath; -exports.go = go; -exports.getUserConfirmation = getUserConfirmation; -exports.supportsHistory = supportsHistory; -exports.supportsGoWithoutReloadUsingHash = supportsGoWithoutReloadUsingHash; - -function addEventListener(node, event, listener) { - if (node.addEventListener) { - node.addEventListener(event, listener, false); - } else { - node.attachEvent('on' + event, listener); - } -} - -function removeEventListener(node, event, listener) { - if (node.removeEventListener) { - node.removeEventListener(event, listener, false); - } else { - node.detachEvent('on' + event, listener); - } -} - -function getHashPath() { - // We can't use window.location.hash here because it's not - // consistent across browsers - Firefox will pre-decode it! - return window.location.href.split('#')[1] || ''; -} - -function replaceHashPath(path) { - window.location.replace(window.location.pathname + window.location.search + '#' + path); -} - -function getWindowPath() { - return window.location.pathname + window.location.search + window.location.hash; -} - -function go(n) { - if (n) window.history.go(n); -} - -function getUserConfirmation(message, callback) { - callback(window.confirm(message)); -} - -/** - * Returns true if the HTML5 history API is supported. Taken from Modernizr. - * - * https://github.com/Modernizr/Modernizr/blob/master/LICENSE - * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js - * changed to avoid false negatives for Windows Phones: https://github.com/rackt/react-router/issues/586 - */ - -function supportsHistory() { - var ua = navigator.userAgent; - if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) { - return false; - } - return window.history && 'pushState' in window.history; -} - -/** - * Returns false if using go(n) with hash history causes a full page reload. - */ - -function supportsGoWithoutReloadUsingHash() { - var ua = navigator.userAgent; - return ua.indexOf('Firefox') === -1; -} -},{}],41:[function(require,module,exports){ -'use strict'; - -exports.__esModule = true; -var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); -exports.canUseDOM = canUseDOM; -},{}],42:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; -exports.extractPath = extractPath; -exports.parsePath = parsePath; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -function extractPath(string) { - var match = string.match(/^https?:\/\/[^\/]*/); - - if (match == null) return string; - - return string.substring(match[0].length); -} - -function parsePath(path) { - var pathname = extractPath(path); - var search = ''; - var hash = ''; - - process.env.NODE_ENV !== 'production' ? _warning2['default'](path === pathname, 'A path must be pathname + search + hash only, not a fully qualified URL like "%s"', path) : undefined; - - var hashIndex = pathname.indexOf('#'); - if (hashIndex !== -1) { - hash = pathname.substring(hashIndex); - pathname = pathname.substring(0, hashIndex); - } - - var searchIndex = pathname.indexOf('?'); - if (searchIndex !== -1) { - search = pathname.substring(searchIndex); - pathname = pathname.substring(0, searchIndex); - } - - if (pathname === '') pathname = '/'; - - return { - pathname: pathname, - search: search, - hash: hash - }; -} -}).call(this,require('_process')) - -},{"_process":1,"warning":59}],43:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _invariant = require('invariant'); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _Actions = require('./Actions'); - -var _PathUtils = require('./PathUtils'); - -var _ExecutionEnvironment = require('./ExecutionEnvironment'); - -var _DOMUtils = require('./DOMUtils'); - -var _DOMStateStorage = require('./DOMStateStorage'); - -var _createDOMHistory = require('./createDOMHistory'); - -var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); - -/** - * Creates and returns a history object that uses HTML5's history API - * (pushState, replaceState, and the popstate event) to manage history. - * This is the recommended method of managing history in browsers because - * it provides the cleanest URLs. - * - * Note: In browsers that do not support the HTML5 history API full - * page reloads will be used to preserve URLs. - */ -function createBrowserHistory() { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Browser history needs a DOM') : _invariant2['default'](false) : undefined; - - var forceRefresh = options.forceRefresh; - - var isSupported = _DOMUtils.supportsHistory(); - var useRefresh = !isSupported || forceRefresh; - - function getCurrentLocation(historyState) { - historyState = historyState || window.history.state || {}; - - var path = _DOMUtils.getWindowPath(); - var _historyState = historyState; - var key = _historyState.key; - - var state = undefined; - if (key) { - state = _DOMStateStorage.readState(key); - } else { - state = null; - key = history.createKey(); - - if (isSupported) window.history.replaceState(_extends({}, historyState, { key: key }), null, path); - } - - var location = _PathUtils.parsePath(path); - - return history.createLocation(_extends({}, location, { state: state }), undefined, key); - } - - function startPopStateListener(_ref) { - var transitionTo = _ref.transitionTo; - - function popStateListener(event) { - if (event.state === undefined) return; // Ignore extraneous popstate events in WebKit. - - transitionTo(getCurrentLocation(event.state)); - } - - _DOMUtils.addEventListener(window, 'popstate', popStateListener); - - return function () { - _DOMUtils.removeEventListener(window, 'popstate', popStateListener); - }; - } - - function finishTransition(location) { - var basename = location.basename; - var pathname = location.pathname; - var search = location.search; - var hash = location.hash; - var state = location.state; - var action = location.action; - var key = location.key; - - if (action === _Actions.POP) return; // Nothing to do. - - _DOMStateStorage.saveState(key, state); - - var path = (basename || '') + pathname + search + hash; - var historyState = { - key: key - }; - - if (action === _Actions.PUSH) { - if (useRefresh) { - window.location.href = path; - return false; // Prevent location update. - } else { - window.history.pushState(historyState, null, path); - } - } else { - // REPLACE - if (useRefresh) { - window.location.replace(path); - return false; // Prevent location update. - } else { - window.history.replaceState(historyState, null, path); - } - } - } - - var history = _createDOMHistory2['default'](_extends({}, options, { - getCurrentLocation: getCurrentLocation, - finishTransition: finishTransition, - saveState: _DOMStateStorage.saveState - })); - - var listenerCount = 0, - stopPopStateListener = undefined; - - function listenBefore(listener) { - if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); - - var unlisten = history.listenBefore(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopPopStateListener(); - }; - } - - function listen(listener) { - if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); - - var unlisten = history.listen(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopPopStateListener(); - }; - } - - // deprecated - function registerTransitionHook(hook) { - if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); - - history.registerTransitionHook(hook); - } - - // deprecated - function unregisterTransitionHook(hook) { - history.unregisterTransitionHook(hook); - - if (--listenerCount === 0) stopPopStateListener(); - } - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen, - registerTransitionHook: registerTransitionHook, - unregisterTransitionHook: unregisterTransitionHook - }); -} - -exports['default'] = createBrowserHistory; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./Actions":37,"./DOMStateStorage":39,"./DOMUtils":40,"./ExecutionEnvironment":41,"./PathUtils":42,"./createDOMHistory":44,"_process":1,"invariant":58}],44:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _invariant = require('invariant'); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _ExecutionEnvironment = require('./ExecutionEnvironment'); - -var _DOMUtils = require('./DOMUtils'); - -var _createHistory = require('./createHistory'); - -var _createHistory2 = _interopRequireDefault(_createHistory); - -function createDOMHistory(options) { - var history = _createHistory2['default'](_extends({ - getUserConfirmation: _DOMUtils.getUserConfirmation - }, options, { - go: _DOMUtils.go - })); - - function listen(listener) { - !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'DOM history needs a DOM') : _invariant2['default'](false) : undefined; - - return history.listen(listener); - } - - return _extends({}, history, { - listen: listen - }); -} - -exports['default'] = createDOMHistory; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./DOMUtils":40,"./ExecutionEnvironment":41,"./createHistory":46,"_process":1,"invariant":58}],45:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -var _invariant = require('invariant'); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _Actions = require('./Actions'); - -var _PathUtils = require('./PathUtils'); - -var _ExecutionEnvironment = require('./ExecutionEnvironment'); - -var _DOMUtils = require('./DOMUtils'); - -var _DOMStateStorage = require('./DOMStateStorage'); - -var _createDOMHistory = require('./createDOMHistory'); - -var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); - -function isAbsolutePath(path) { - return typeof path === 'string' && path.charAt(0) === '/'; -} - -function ensureSlash() { - var path = _DOMUtils.getHashPath(); - - if (isAbsolutePath(path)) return true; - - _DOMUtils.replaceHashPath('/' + path); - - return false; -} - -function addQueryStringValueToPath(path, key, value) { - return path + (path.indexOf('?') === -1 ? '?' : '&') + (key + '=' + value); -} - -function stripQueryStringValueFromPath(path, key) { - return path.replace(new RegExp('[?&]?' + key + '=[a-zA-Z0-9]+'), ''); -} - -function getQueryStringValueFromPath(path, key) { - var match = path.match(new RegExp('\\?.*?\\b' + key + '=(.+?)\\b')); - return match && match[1]; -} - -var DefaultQueryKey = '_k'; - -function createHashHistory() { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Hash history needs a DOM') : _invariant2['default'](false) : undefined; - - var queryKey = options.queryKey; - - if (queryKey === undefined || !!queryKey) queryKey = typeof queryKey === 'string' ? queryKey : DefaultQueryKey; - - function getCurrentLocation() { - var path = _DOMUtils.getHashPath(); - - var key = undefined, - state = undefined; - if (queryKey) { - key = getQueryStringValueFromPath(path, queryKey); - path = stripQueryStringValueFromPath(path, queryKey); - - if (key) { - state = _DOMStateStorage.readState(key); - } else { - state = null; - key = history.createKey(); - _DOMUtils.replaceHashPath(addQueryStringValueToPath(path, queryKey, key)); - } - } else { - key = state = null; - } - - var location = _PathUtils.parsePath(path); - - return history.createLocation(_extends({}, location, { state: state }), undefined, key); - } - - function startHashChangeListener(_ref) { - var transitionTo = _ref.transitionTo; - - function hashChangeListener() { - if (!ensureSlash()) return; // Always make sure hashes are preceeded with a /. - - transitionTo(getCurrentLocation()); - } - - ensureSlash(); - _DOMUtils.addEventListener(window, 'hashchange', hashChangeListener); - - return function () { - _DOMUtils.removeEventListener(window, 'hashchange', hashChangeListener); - }; - } - - function finishTransition(location) { - var basename = location.basename; - var pathname = location.pathname; - var search = location.search; - var state = location.state; - var action = location.action; - var key = location.key; - - if (action === _Actions.POP) return; // Nothing to do. - - var path = (basename || '') + pathname + search; - - if (queryKey) { - path = addQueryStringValueToPath(path, queryKey, key); - _DOMStateStorage.saveState(key, state); - } else { - // Drop key and state. - location.key = location.state = null; - } - - var currentHash = _DOMUtils.getHashPath(); - - if (action === _Actions.PUSH) { - if (currentHash !== path) { - window.location.hash = path; - } else { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'You cannot PUSH the same path using hash history') : undefined; - } - } else if (currentHash !== path) { - // REPLACE - _DOMUtils.replaceHashPath(path); - } - } - - var history = _createDOMHistory2['default'](_extends({}, options, { - getCurrentLocation: getCurrentLocation, - finishTransition: finishTransition, - saveState: _DOMStateStorage.saveState - })); - - var listenerCount = 0, - stopHashChangeListener = undefined; - - function listenBefore(listener) { - if (++listenerCount === 1) stopHashChangeListener = startHashChangeListener(history); - - var unlisten = history.listenBefore(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopHashChangeListener(); - }; - } - - function listen(listener) { - if (++listenerCount === 1) stopHashChangeListener = startHashChangeListener(history); - - var unlisten = history.listen(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopHashChangeListener(); - }; - } - - function push(location) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || location.state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; - - history.push(location); - } - - function replace(location) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || location.state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; - - history.replace(location); - } - - var goIsSupportedWithoutReload = _DOMUtils.supportsGoWithoutReloadUsingHash(); - - function go(n) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](goIsSupportedWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : undefined; - - history.go(n); - } - - function createHref(path) { - return '#' + history.createHref(path); - } - - // deprecated - function registerTransitionHook(hook) { - if (++listenerCount === 1) stopHashChangeListener = startHashChangeListener(history); - - history.registerTransitionHook(hook); - } - - // deprecated - function unregisterTransitionHook(hook) { - history.unregisterTransitionHook(hook); - - if (--listenerCount === 0) stopHashChangeListener(); - } - - // deprecated - function pushState(state, path) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; - - history.pushState(state, path); - } - - // deprecated - function replaceState(state, path) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](queryKey || state == null, 'You cannot use state without a queryKey it will be dropped') : undefined; - - history.replaceState(state, path); - } - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen, - push: push, - replace: replace, - go: go, - createHref: createHref, - - registerTransitionHook: registerTransitionHook, // deprecated - warning is in createHistory - unregisterTransitionHook: unregisterTransitionHook, // deprecated - warning is in createHistory - pushState: pushState, // deprecated - warning is in createHistory - replaceState: replaceState // deprecated - warning is in createHistory - }); -} - -exports['default'] = createHashHistory; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./Actions":37,"./DOMStateStorage":39,"./DOMUtils":40,"./ExecutionEnvironment":41,"./PathUtils":42,"./createDOMHistory":44,"_process":1,"invariant":58,"warning":59}],46:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -var _deepEqual = require('deep-equal'); - -var _deepEqual2 = _interopRequireDefault(_deepEqual); - -var _PathUtils = require('./PathUtils'); - -var _AsyncUtils = require('./AsyncUtils'); - -var _Actions = require('./Actions'); - -var _createLocation2 = require('./createLocation'); - -var _createLocation3 = _interopRequireDefault(_createLocation2); - -var _runTransitionHook = require('./runTransitionHook'); - -var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - -var _deprecate = require('./deprecate'); - -var _deprecate2 = _interopRequireDefault(_deprecate); - -function createRandomKey(length) { - return Math.random().toString(36).substr(2, length); -} - -function locationsAreEqual(a, b) { - return a.pathname === b.pathname && a.search === b.search && - //a.action === b.action && // Different action !== location change. - a.key === b.key && _deepEqual2['default'](a.state, b.state); -} - -var DefaultKeyLength = 6; - -function createHistory() { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var getCurrentLocation = options.getCurrentLocation; - var finishTransition = options.finishTransition; - var saveState = options.saveState; - var go = options.go; - var keyLength = options.keyLength; - var getUserConfirmation = options.getUserConfirmation; - - if (typeof keyLength !== 'number') keyLength = DefaultKeyLength; - - var transitionHooks = []; - - function listenBefore(hook) { - transitionHooks.push(hook); - - return function () { - transitionHooks = transitionHooks.filter(function (item) { - return item !== hook; - }); - }; - } - - var allKeys = []; - var changeListeners = []; - var location = undefined; - - function getCurrent() { - if (pendingLocation && pendingLocation.action === _Actions.POP) { - return allKeys.indexOf(pendingLocation.key); - } else if (location) { - return allKeys.indexOf(location.key); - } else { - return -1; - } - } - - function updateLocation(newLocation) { - var current = getCurrent(); - - location = newLocation; - - if (location.action === _Actions.PUSH) { - allKeys = [].concat(allKeys.slice(0, current + 1), [location.key]); - } else if (location.action === _Actions.REPLACE) { - allKeys[current] = location.key; - } - - changeListeners.forEach(function (listener) { - listener(location); - }); - } - - function listen(listener) { - changeListeners.push(listener); - - if (location) { - listener(location); - } else { - var _location = getCurrentLocation(); - allKeys = [_location.key]; - updateLocation(_location); - } - - return function () { - changeListeners = changeListeners.filter(function (item) { - return item !== listener; - }); - }; - } - - function confirmTransitionTo(location, callback) { - _AsyncUtils.loopAsync(transitionHooks.length, function (index, next, done) { - _runTransitionHook2['default'](transitionHooks[index], location, function (result) { - if (result != null) { - done(result); - } else { - next(); - } - }); - }, function (message) { - if (getUserConfirmation && typeof message === 'string') { - getUserConfirmation(message, function (ok) { - callback(ok !== false); - }); - } else { - callback(message !== false); - } - }); - } - - var pendingLocation = undefined; - - function transitionTo(nextLocation) { - if (location && locationsAreEqual(location, nextLocation)) return; // Nothing to do. - - pendingLocation = nextLocation; - - confirmTransitionTo(nextLocation, function (ok) { - if (pendingLocation !== nextLocation) return; // Transition was interrupted. - - if (ok) { - // treat PUSH to current path like REPLACE to be consistent with browsers - if (nextLocation.action === _Actions.PUSH) { - var prevPath = createPath(location); - var nextPath = createPath(nextLocation); - - if (nextPath === prevPath && _deepEqual2['default'](location.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE; - } - - if (finishTransition(nextLocation) !== false) updateLocation(nextLocation); - } else if (location && nextLocation.action === _Actions.POP) { - var prevIndex = allKeys.indexOf(location.key); - var nextIndex = allKeys.indexOf(nextLocation.key); - - if (prevIndex !== -1 && nextIndex !== -1) go(prevIndex - nextIndex); // Restore the URL. - } - }); - } - - function push(location) { - transitionTo(createLocation(location, _Actions.PUSH, createKey())); - } - - function replace(location) { - transitionTo(createLocation(location, _Actions.REPLACE, createKey())); - } - - function goBack() { - go(-1); - } - - function goForward() { - go(1); - } - - function createKey() { - return createRandomKey(keyLength); - } - - function createPath(location) { - if (location == null || typeof location === 'string') return location; - - var pathname = location.pathname; - var search = location.search; - var hash = location.hash; - - var result = pathname; - - if (search) result += search; - - if (hash) result += hash; - - return result; - } - - function createHref(location) { - return createPath(location); - } - - function createLocation(location, action) { - var key = arguments.length <= 2 || arguments[2] === undefined ? createKey() : arguments[2]; - - if (typeof action === 'object') { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'The state (2nd) argument to history.createLocation is deprecated; use a ' + 'location descriptor instead') : undefined; - - if (typeof location === 'string') location = _PathUtils.parsePath(location); - - location = _extends({}, location, { state: action }); - - action = key; - key = arguments[3] || createKey(); - } - - return _createLocation3['default'](location, action, key); - } - - // deprecated - function setState(state) { - if (location) { - updateLocationState(location, state); - updateLocation(location); - } else { - updateLocationState(getCurrentLocation(), state); - } - } - - function updateLocationState(location, state) { - location.state = _extends({}, location.state, state); - saveState(location.key, location.state); - } - - // deprecated - function registerTransitionHook(hook) { - if (transitionHooks.indexOf(hook) === -1) transitionHooks.push(hook); - } - - // deprecated - function unregisterTransitionHook(hook) { - transitionHooks = transitionHooks.filter(function (item) { - return item !== hook; - }); - } - - // deprecated - function pushState(state, path) { - if (typeof path === 'string') path = _PathUtils.parsePath(path); - - push(_extends({ state: state }, path)); - } - - // deprecated - function replaceState(state, path) { - if (typeof path === 'string') path = _PathUtils.parsePath(path); - - replace(_extends({ state: state }, path)); - } - - return { - listenBefore: listenBefore, - listen: listen, - transitionTo: transitionTo, - push: push, - replace: replace, - go: go, - goBack: goBack, - goForward: goForward, - createKey: createKey, - createPath: createPath, - createHref: createHref, - createLocation: createLocation, - - setState: _deprecate2['default'](setState, 'setState is deprecated; use location.key to save state instead'), - registerTransitionHook: _deprecate2['default'](registerTransitionHook, 'registerTransitionHook is deprecated; use listenBefore instead'), - unregisterTransitionHook: _deprecate2['default'](unregisterTransitionHook, 'unregisterTransitionHook is deprecated; use the callback returned from listenBefore instead'), - pushState: _deprecate2['default'](pushState, 'pushState is deprecated; use push instead'), - replaceState: _deprecate2['default'](replaceState, 'replaceState is deprecated; use replace instead') - }; -} - -exports['default'] = createHistory; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./Actions":37,"./AsyncUtils":38,"./PathUtils":42,"./createLocation":47,"./deprecate":49,"./runTransitionHook":50,"_process":1,"deep-equal":53,"warning":59}],47:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -var _Actions = require('./Actions'); - -var _PathUtils = require('./PathUtils'); - -function createLocation() { - var location = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0]; - var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1]; - var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; - - var _fourthArg = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3]; - - if (typeof location === 'string') location = _PathUtils.parsePath(location); - - if (typeof action === 'object') { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'The state (2nd) argument to createLocation is deprecated; use a ' + 'location descriptor instead') : undefined; - - location = _extends({}, location, { state: action }); - - action = key || _Actions.POP; - key = _fourthArg; - } - - var pathname = location.pathname || '/'; - var search = location.search || ''; - var hash = location.hash || ''; - var state = location.state || null; - - return { - pathname: pathname, - search: search, - hash: hash, - state: state, - action: action, - key: key - }; -} - -exports['default'] = createLocation; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./Actions":37,"./PathUtils":42,"_process":1,"warning":59}],48:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -var _invariant = require('invariant'); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _PathUtils = require('./PathUtils'); - -var _Actions = require('./Actions'); - -var _createHistory = require('./createHistory'); - -var _createHistory2 = _interopRequireDefault(_createHistory); - -function createStateStorage(entries) { - return entries.filter(function (entry) { - return entry.state; - }).reduce(function (memo, entry) { - memo[entry.key] = entry.state; - return memo; - }, {}); -} - -function createMemoryHistory() { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - if (Array.isArray(options)) { - options = { entries: options }; - } else if (typeof options === 'string') { - options = { entries: [options] }; - } - - var history = _createHistory2['default'](_extends({}, options, { - getCurrentLocation: getCurrentLocation, - finishTransition: finishTransition, - saveState: saveState, - go: go - })); - - var _options = options; - var entries = _options.entries; - var current = _options.current; - - if (typeof entries === 'string') { - entries = [entries]; - } else if (!Array.isArray(entries)) { - entries = ['/']; - } - - entries = entries.map(function (entry) { - var key = history.createKey(); - - if (typeof entry === 'string') return { pathname: entry, key: key }; - - if (typeof entry === 'object' && entry) return _extends({}, entry, { key: key }); - - !false ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Unable to create history entry from %s', entry) : _invariant2['default'](false) : undefined; - }); - - if (current == null) { - current = entries.length - 1; - } else { - !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : _invariant2['default'](false) : undefined; - } - - var storage = createStateStorage(entries); - - function saveState(key, state) { - storage[key] = state; - } - - function readState(key) { - return storage[key]; - } - - function getCurrentLocation() { - var entry = entries[current]; - var key = entry.key; - var basename = entry.basename; - var pathname = entry.pathname; - var search = entry.search; - - var path = (basename || '') + pathname + (search || ''); - - var state = undefined; - if (key) { - state = readState(key); - } else { - state = null; - key = history.createKey(); - entry.key = key; - } - - var location = _PathUtils.parsePath(path); - - return history.createLocation(_extends({}, location, { state: state }), undefined, key); - } - - function canGo(n) { - var index = current + n; - return index >= 0 && index < entries.length; - } - - function go(n) { - if (n) { - if (!canGo(n)) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'Cannot go(%s) there is not enough history', n) : undefined; - return; - } - - current += n; - - var currentLocation = getCurrentLocation(); - - // change action to POP - history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP })); - } - } - - function finishTransition(location) { - switch (location.action) { - case _Actions.PUSH: - current += 1; - - // if we are not on the top of stack - // remove rest and push new - if (current < entries.length) entries.splice(current); - - entries.push(location); - saveState(location.key, location.state); - break; - case _Actions.REPLACE: - entries[current] = location; - saveState(location.key, location.state); - break; - } - } - - return history; -} - -exports['default'] = createMemoryHistory; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./Actions":37,"./PathUtils":42,"./createHistory":46,"_process":1,"invariant":58,"warning":59}],49:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -function deprecate(fn, message) { - return function () { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] ' + message) : undefined; - return fn.apply(this, arguments); - }; -} - -exports['default'] = deprecate; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"_process":1,"warning":59}],50:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -function runTransitionHook(hook, location, callback) { - var result = hook(location, callback); - - if (hook.length < 2) { - // Assume the hook runs synchronously and automatically - // call the callback with the return value. - callback(result); - } else { - process.env.NODE_ENV !== 'production' ? _warning2['default'](result === undefined, 'You should not "return" in a transition hook with a callback argument; call the callback instead') : undefined; - } -} - -exports['default'] = runTransitionHook; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"_process":1,"warning":59}],51:[function(require,module,exports){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var _ExecutionEnvironment = require('./ExecutionEnvironment'); - -var _PathUtils = require('./PathUtils'); - -var _runTransitionHook = require('./runTransitionHook'); - -var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - -var _deprecate = require('./deprecate'); - -var _deprecate2 = _interopRequireDefault(_deprecate); - -function useBasename(createHistory) { - return function () { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var basename = options.basename; - - var historyOptions = _objectWithoutProperties(options, ['basename']); - - var history = createHistory(historyOptions); - - // Automatically use the value of <base href> in HTML - // documents as basename if it's not explicitly given. - if (basename == null && _ExecutionEnvironment.canUseDOM) { - var base = document.getElementsByTagName('base')[0]; - - if (base) basename = _PathUtils.extractPath(base.href); - } - - function addBasename(location) { - if (basename && location.basename == null) { - if (location.pathname.indexOf(basename) === 0) { - location.pathname = location.pathname.substring(basename.length); - location.basename = basename; - - if (location.pathname === '') location.pathname = '/'; - } else { - location.basename = ''; - } - } - - return location; - } - - function prependBasename(location) { - if (!basename) return location; - - if (typeof location === 'string') location = _PathUtils.parsePath(location); - - var pname = location.pathname; - var normalizedBasename = basename.slice(-1) === '/' ? basename : basename + '/'; - var normalizedPathname = pname.charAt(0) === '/' ? pname.slice(1) : pname; - var pathname = normalizedBasename + normalizedPathname; - - return _extends({}, location, { - pathname: pathname - }); - } - - // Override all read methods with basename-aware versions. - function listenBefore(hook) { - return history.listenBefore(function (location, callback) { - _runTransitionHook2['default'](hook, addBasename(location), callback); - }); - } - - function listen(listener) { - return history.listen(function (location) { - listener(addBasename(location)); - }); - } - - // Override all write methods with basename-aware versions. - function push(location) { - history.push(prependBasename(location)); - } - - function replace(location) { - history.replace(prependBasename(location)); - } - - function createPath(location) { - return history.createPath(prependBasename(location)); - } - - function createHref(location) { - return history.createHref(prependBasename(location)); - } - - function createLocation(location) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return addBasename(history.createLocation.apply(history, [prependBasename(location)].concat(args))); - } - - // deprecated - function pushState(state, path) { - if (typeof path === 'string') path = _PathUtils.parsePath(path); - - push(_extends({ state: state }, path)); - } - - // deprecated - function replaceState(state, path) { - if (typeof path === 'string') path = _PathUtils.parsePath(path); - - replace(_extends({ state: state }, path)); - } - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen, - push: push, - replace: replace, - createPath: createPath, - createHref: createHref, - createLocation: createLocation, - - pushState: _deprecate2['default'](pushState, 'pushState is deprecated; use push instead'), - replaceState: _deprecate2['default'](replaceState, 'replaceState is deprecated; use replace instead') - }); - }; -} - -exports['default'] = useBasename; -module.exports = exports['default']; -},{"./ExecutionEnvironment":41,"./PathUtils":42,"./deprecate":49,"./runTransitionHook":50}],52:[function(require,module,exports){ -(function (process){ -'use strict'; - -exports.__esModule = true; - -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; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var _warning = require('warning'); - -var _warning2 = _interopRequireDefault(_warning); - -var _queryString = require('query-string'); - -var _runTransitionHook = require('./runTransitionHook'); - -var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - -var _PathUtils = require('./PathUtils'); - -var _deprecate = require('./deprecate'); - -var _deprecate2 = _interopRequireDefault(_deprecate); - -var SEARCH_BASE_KEY = '$searchBase'; - -function defaultStringifyQuery(query) { - return _queryString.stringify(query).replace(/%20/g, '+'); -} - -var defaultParseQueryString = _queryString.parse; - -function isNestedObject(object) { - for (var p in object) { - if (object.hasOwnProperty(p) && typeof object[p] === 'object' && !Array.isArray(object[p]) && object[p] !== null) return true; - }return false; -} - -/** - * Returns a new createHistory function that may be used to create - * history objects that know how to handle URL queries. - */ -function useQueries(createHistory) { - return function () { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var stringifyQuery = options.stringifyQuery; - var parseQueryString = options.parseQueryString; - - var historyOptions = _objectWithoutProperties(options, ['stringifyQuery', 'parseQueryString']); - - var history = createHistory(historyOptions); - - if (typeof stringifyQuery !== 'function') stringifyQuery = defaultStringifyQuery; - - if (typeof parseQueryString !== 'function') parseQueryString = defaultParseQueryString; - - function addQuery(location) { - if (location.query == null) { - var search = location.search; - - location.query = parseQueryString(search.substring(1)); - location[SEARCH_BASE_KEY] = { search: search, searchBase: '' }; - } - - // TODO: Instead of all the book-keeping here, this should just strip the - // stringified query from the search. - - return location; - } - - function appendQuery(location, query) { - var _extends2; - - var searchBaseSpec = location[SEARCH_BASE_KEY]; - var queryString = query ? stringifyQuery(query) : ''; - if (!searchBaseSpec && !queryString) { - return location; - } - - process.env.NODE_ENV !== 'production' ? _warning2['default'](stringifyQuery !== defaultStringifyQuery || !isNestedObject(query), 'useQueries does not stringify nested query objects by default; ' + 'use a custom stringifyQuery function') : undefined; - - if (typeof location === 'string') location = _PathUtils.parsePath(location); - - var searchBase = undefined; - if (searchBaseSpec && location.search === searchBaseSpec.search) { - searchBase = searchBaseSpec.searchBase; - } else { - searchBase = location.search || ''; - } - - var search = searchBase; - if (queryString) { - search += (search ? '&' : '?') + queryString; - } - - return _extends({}, location, (_extends2 = { - search: search - }, _extends2[SEARCH_BASE_KEY] = { search: search, searchBase: searchBase }, _extends2)); - } - - // Override all read methods with query-aware versions. - function listenBefore(hook) { - return history.listenBefore(function (location, callback) { - _runTransitionHook2['default'](hook, addQuery(location), callback); - }); - } - - function listen(listener) { - return history.listen(function (location) { - listener(addQuery(location)); - }); - } - - // Override all write methods with query-aware versions. - function push(location) { - history.push(appendQuery(location, location.query)); - } - - function replace(location) { - history.replace(appendQuery(location, location.query)); - } - - function createPath(location, query) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](!query, 'the query argument to createPath is deprecated; use a location descriptor instead') : undefined; - - return history.createPath(appendQuery(location, query || location.query)); - } - - function createHref(location, query) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](!query, 'the query argument to createHref is deprecated; use a location descriptor instead') : undefined; - - return history.createHref(appendQuery(location, query || location.query)); - } - - function createLocation(location) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var fullLocation = history.createLocation.apply(history, [appendQuery(location, location.query)].concat(args)); - if (location.query) { - fullLocation.query = location.query; - } - return addQuery(fullLocation); - } - - // deprecated - function pushState(state, path, query) { - if (typeof path === 'string') path = _PathUtils.parsePath(path); - - push(_extends({ state: state }, path, { query: query })); - } - - // deprecated - function replaceState(state, path, query) { - if (typeof path === 'string') path = _PathUtils.parsePath(path); - - replace(_extends({ state: state }, path, { query: query })); - } - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen, - push: push, - replace: replace, - createPath: createPath, - createHref: createHref, - createLocation: createLocation, - - pushState: _deprecate2['default'](pushState, 'pushState is deprecated; use push instead'), - replaceState: _deprecate2['default'](replaceState, 'replaceState is deprecated; use replace instead') - }); - }; -} - -exports['default'] = useQueries; -module.exports = exports['default']; -}).call(this,require('_process')) - -},{"./PathUtils":42,"./deprecate":49,"./runTransitionHook":50,"_process":1,"query-string":56,"warning":59}],53:[function(require,module,exports){ -var pSlice = Array.prototype.slice; -var objectKeys = require('./lib/keys.js'); -var isArguments = require('./lib/is_arguments.js'); - -var deepEqual = module.exports = function (actual, expected, opts) { - if (!opts) opts = {}; - // 7.1. All identical values are equivalent, as determined by ===. - if (actual === expected) { - return true; - - } else if (actual instanceof Date && expected instanceof Date) { - return actual.getTime() === expected.getTime(); - - // 7.3. Other pairs that do not both pass typeof value == 'object', - // equivalence is determined by ==. - } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') { - return opts.strict ? actual === expected : actual == expected; - - // 7.4. For all other Object pairs, including Array objects, equivalence is - // determined by having the same number of owned properties (as verified - // with Object.prototype.hasOwnProperty.call), the same set of keys - // (although not necessarily the same order), equivalent values for every - // corresponding key, and an identical 'prototype' property. Note: this - // accounts for both named and indexed properties on Arrays. - } else { - return objEquiv(actual, expected, opts); - } -} - -function isUndefinedOrNull(value) { - return value === null || value === undefined; -} - -function isBuffer (x) { - if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false; - if (typeof x.copy !== 'function' || typeof x.slice !== 'function') { - return false; - } - if (x.length > 0 && typeof x[0] !== 'number') return false; - return true; -} - -function objEquiv(a, b, opts) { - var i, key; - if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) - return false; - // an identical 'prototype' property. - if (a.prototype !== b.prototype) return false; - //~~~I've managed to break Object.keys through screwy arguments passing. - // Converting to array solves the problem. - if (isArguments(a)) { - if (!isArguments(b)) { - return false; - } - a = pSlice.call(a); - b = pSlice.call(b); - return deepEqual(a, b, opts); - } - if (isBuffer(a)) { - if (!isBuffer(b)) { - return false; - } - if (a.length !== b.length) return false; - for (i = 0; i < a.length; i++) { - if (a[i] !== b[i]) return false; - } - return true; - } - try { - var ka = objectKeys(a), - kb = objectKeys(b); - } catch (e) {//happens when one is a string literal and the other isn't - return false; - } - // having the same number of owned properties (keys incorporates - // hasOwnProperty) - if (ka.length != kb.length) - return false; - //the same set of keys (although not necessarily the same order), - ka.sort(); - kb.sort(); - //~~~cheap key test - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] != kb[i]) - return false; - } - //equivalent values for every corresponding key, and - //~~~possibly expensive deep test - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!deepEqual(a[key], b[key], opts)) return false; - } - return typeof a === typeof b; -} - -},{"./lib/is_arguments.js":54,"./lib/keys.js":55}],54:[function(require,module,exports){ -var supportsArgumentsClass = (function(){ - return Object.prototype.toString.call(arguments) -})() == '[object Arguments]'; - -exports = module.exports = supportsArgumentsClass ? supported : unsupported; - -exports.supported = supported; -function supported(object) { - return Object.prototype.toString.call(object) == '[object Arguments]'; -}; - -exports.unsupported = unsupported; -function unsupported(object){ - return object && - typeof object == 'object' && - typeof object.length == 'number' && - Object.prototype.hasOwnProperty.call(object, 'callee') && - !Object.prototype.propertyIsEnumerable.call(object, 'callee') || - false; -}; - -},{}],55:[function(require,module,exports){ -exports = module.exports = typeof Object.keys === 'function' - ? Object.keys : shim; - -exports.shim = shim; -function shim (obj) { - var keys = []; - for (var key in obj) keys.push(key); - return keys; -} - -},{}],56:[function(require,module,exports){ -'use strict'; -var strictUriEncode = require('strict-uri-encode'); - -exports.extract = function (str) { - return str.split('?')[1] || ''; -}; - -exports.parse = function (str) { - if (typeof str !== 'string') { - return {}; - } - - str = str.trim().replace(/^(\?|#|&)/, ''); - - if (!str) { - return {}; - } - - return str.split('&').reduce(function (ret, param) { - var parts = param.replace(/\+/g, ' ').split('='); - // Firefox (pre 40) decodes `%3D` to `=` - // https://github.com/sindresorhus/query-string/pull/37 - var key = parts.shift(); - var val = parts.length > 0 ? parts.join('=') : undefined; - - key = decodeURIComponent(key); - - // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - val = val === undefined ? null : decodeURIComponent(val); - - if (!ret.hasOwnProperty(key)) { - ret[key] = val; - } else if (Array.isArray(ret[key])) { - ret[key].push(val); - } else { - ret[key] = [ret[key], val]; - } - - return ret; - }, {}); -}; - -exports.stringify = function (obj) { - return obj ? Object.keys(obj).sort().map(function (key) { - var val = obj[key]; - - if (val === undefined) { - return ''; - } - - if (val === null) { - return key; - } - - if (Array.isArray(val)) { - return val.slice().sort().map(function (val2) { - return strictUriEncode(key) + '=' + strictUriEncode(val2); - }).join('&'); - } - - return strictUriEncode(key) + '=' + strictUriEncode(val); - }).filter(function (x) { - return x.length > 0; - }).join('&') : ''; -}; - -},{"strict-uri-encode":57}],57:[function(require,module,exports){ -'use strict'; -module.exports = function (str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase(); - }); -}; - -},{}],58:[function(require,module,exports){ -(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(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; - -}).call(this,require('_process')) - -},{"_process":1}],59:[function(require,module,exports){ -(function (process){ -/** - * Copyright 2014-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'; - -/** - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. - */ - -var warning = function() {}; - -if (process.env.NODE_ENV !== 'production') { - warning = function(condition, format, args) { - var len = arguments.length; - args = new Array(len > 2 ? len - 2 : 0); - for (var 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.length < 10 || (/^[s\W]*$/).test(format)) { - throw new Error( - 'The warning format should be able to uniquely identify this ' + - 'warning. Please, use a more descriptive format than: ' + format - ); - } - - if (!condition) { - var argIndex = 0; - var message = 'Warning: ' + - format.replace(/%s/g, function() { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // 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; - -}).call(this,require('_process')) - -},{"_process":1}],60:[function(require,module,exports){ +},{"./createTransitionManager":47,"./routerWarning":55,"_process":23,"history/lib/useQueries":21}],58:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -5144,7 +5071,7 @@ var AutoFocusUtils = { }; module.exports = AutoFocusUtils; -},{"./ReactMount":130,"./findDOMNode":181,"fbjs/lib/focusNode":214}],61:[function(require,module,exports){ +},{"./ReactMount":128,"./findDOMNode":179,"fbjs/lib/focusNode":212}],59:[function(require,module,exports){ /** * Copyright 2013-2015 Facebook, Inc. * All rights reserved. @@ -5550,7 +5477,7 @@ var BeforeInputEventPlugin = { }; module.exports = BeforeInputEventPlugin; -},{"./EventConstants":73,"./EventPropagators":77,"./FallbackCompositionState":78,"./SyntheticCompositionEvent":162,"./SyntheticInputEvent":166,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/keyOf":225}],62:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPropagators":75,"./FallbackCompositionState":76,"./SyntheticCompositionEvent":160,"./SyntheticInputEvent":164,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/keyOf":223}],60:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -5690,7 +5617,7 @@ var CSSProperty = { }; module.exports = CSSProperty; -},{}],63:[function(require,module,exports){ +},{}],61:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -5869,7 +5796,7 @@ ReactPerf.measureMethods(CSSPropertyOperations, 'CSSPropertyOperations', { module.exports = CSSPropertyOperations; }).call(this,require('_process')) -},{"./CSSProperty":62,"./ReactPerf":136,"./dangerousStyleValue":178,"_process":1,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/camelizeStyleName":208,"fbjs/lib/hyphenateStyleName":219,"fbjs/lib/memoizeStringOnly":227,"fbjs/lib/warning":232}],64:[function(require,module,exports){ +},{"./CSSProperty":60,"./ReactPerf":134,"./dangerousStyleValue":176,"_process":23,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/camelizeStyleName":206,"fbjs/lib/hyphenateStyleName":217,"fbjs/lib/memoizeStringOnly":225,"fbjs/lib/warning":230}],62:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -5966,7 +5893,7 @@ PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; }).call(this,require('_process')) -},{"./Object.assign":82,"./PooledClass":83,"_process":1,"fbjs/lib/invariant":220}],65:[function(require,module,exports){ +},{"./Object.assign":80,"./PooledClass":81,"_process":23,"fbjs/lib/invariant":218}],63:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -6288,7 +6215,7 @@ var ChangeEventPlugin = { }; module.exports = ChangeEventPlugin; -},{"./EventConstants":73,"./EventPluginHub":74,"./EventPropagators":77,"./ReactUpdates":154,"./SyntheticEvent":164,"./getEventTarget":187,"./isEventSupported":192,"./isTextInputElement":193,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/keyOf":225}],66:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPluginHub":72,"./EventPropagators":75,"./ReactUpdates":152,"./SyntheticEvent":162,"./getEventTarget":185,"./isEventSupported":190,"./isTextInputElement":191,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/keyOf":223}],64:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -6312,7 +6239,7 @@ var ClientReactRootIndex = { }; module.exports = ClientReactRootIndex; -},{}],67:[function(require,module,exports){ +},{}],65:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -6445,7 +6372,7 @@ ReactPerf.measureMethods(DOMChildrenOperations, 'DOMChildrenOperations', { module.exports = DOMChildrenOperations; }).call(this,require('_process')) -},{"./Danger":70,"./ReactMultiChildUpdateTypes":132,"./ReactPerf":136,"./setInnerHTML":197,"./setTextContent":198,"_process":1,"fbjs/lib/invariant":220}],68:[function(require,module,exports){ +},{"./Danger":68,"./ReactMultiChildUpdateTypes":130,"./ReactPerf":134,"./setInnerHTML":195,"./setTextContent":196,"_process":23,"fbjs/lib/invariant":218}],66:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -6683,7 +6610,7 @@ var DOMProperty = { module.exports = DOMProperty; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],69:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],67:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -6912,7 +6839,7 @@ ReactPerf.measureMethods(DOMPropertyOperations, 'DOMPropertyOperations', { module.exports = DOMPropertyOperations; }).call(this,require('_process')) -},{"./DOMProperty":68,"./ReactPerf":136,"./quoteAttributeValueForBrowser":195,"_process":1,"fbjs/lib/warning":232}],70:[function(require,module,exports){ +},{"./DOMProperty":66,"./ReactPerf":134,"./quoteAttributeValueForBrowser":193,"_process":23,"fbjs/lib/warning":230}],68:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -7061,7 +6988,7 @@ var Danger = { module.exports = Danger; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/createNodesFromMarkup":211,"fbjs/lib/emptyFunction":212,"fbjs/lib/getMarkupWrap":216,"fbjs/lib/invariant":220}],71:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/createNodesFromMarkup":209,"fbjs/lib/emptyFunction":210,"fbjs/lib/getMarkupWrap":214,"fbjs/lib/invariant":218}],69:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -7089,7 +7016,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":225}],72:[function(require,module,exports){ +},{"fbjs/lib/keyOf":223}],70:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -7214,7 +7141,7 @@ var EnterLeaveEventPlugin = { }; module.exports = EnterLeaveEventPlugin; -},{"./EventConstants":73,"./EventPropagators":77,"./ReactMount":130,"./SyntheticMouseEvent":168,"fbjs/lib/keyOf":225}],73:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPropagators":75,"./ReactMount":128,"./SyntheticMouseEvent":166,"fbjs/lib/keyOf":223}],71:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -7307,7 +7234,7 @@ var EventConstants = { }; module.exports = EventConstants; -},{"fbjs/lib/keyMirror":224}],74:[function(require,module,exports){ +},{"fbjs/lib/keyMirror":222}],72:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -7590,7 +7517,7 @@ var EventPluginHub = { module.exports = EventPluginHub; }).call(this,require('_process')) -},{"./EventPluginRegistry":75,"./EventPluginUtils":76,"./ReactErrorUtils":119,"./accumulateInto":174,"./forEachAccumulated":183,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],75:[function(require,module,exports){ +},{"./EventPluginRegistry":73,"./EventPluginUtils":74,"./ReactErrorUtils":117,"./accumulateInto":172,"./forEachAccumulated":181,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],73:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -7814,7 +7741,7 @@ var EventPluginRegistry = { module.exports = EventPluginRegistry; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],76:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],74:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8020,7 +7947,7 @@ var EventPluginUtils = { module.exports = EventPluginUtils; }).call(this,require('_process')) -},{"./EventConstants":73,"./ReactErrorUtils":119,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],77:[function(require,module,exports){ +},{"./EventConstants":71,"./ReactErrorUtils":117,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],75:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8159,7 +8086,7 @@ var EventPropagators = { module.exports = EventPropagators; }).call(this,require('_process')) -},{"./EventConstants":73,"./EventPluginHub":74,"./accumulateInto":174,"./forEachAccumulated":183,"_process":1,"fbjs/lib/warning":232}],78:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPluginHub":72,"./accumulateInto":172,"./forEachAccumulated":181,"_process":23,"fbjs/lib/warning":230}],76:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8255,7 +8182,7 @@ assign(FallbackCompositionState.prototype, { PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; -},{"./Object.assign":82,"./PooledClass":83,"./getTextContentAccessor":190}],79:[function(require,module,exports){ +},{"./Object.assign":80,"./PooledClass":81,"./getTextContentAccessor":188}],77:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8486,7 +8413,7 @@ var HTMLDOMPropertyConfig = { }; module.exports = HTMLDOMPropertyConfig; -},{"./DOMProperty":68,"fbjs/lib/ExecutionEnvironment":206}],80:[function(require,module,exports){ +},{"./DOMProperty":66,"fbjs/lib/ExecutionEnvironment":204}],78:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8523,7 +8450,7 @@ var LinkedStateMixin = { }; module.exports = LinkedStateMixin; -},{"./ReactLink":128,"./ReactStateSetters":148}],81:[function(require,module,exports){ +},{"./ReactLink":126,"./ReactStateSetters":146}],79:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8661,7 +8588,7 @@ var LinkedValueUtils = { module.exports = LinkedValueUtils; }).call(this,require('_process')) -},{"./ReactPropTypeLocations":139,"./ReactPropTypes":140,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],82:[function(require,module,exports){ +},{"./ReactPropTypeLocations":137,"./ReactPropTypes":138,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],80:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -8709,7 +8636,7 @@ function assign(target, sources) { } module.exports = assign; -},{}],83:[function(require,module,exports){ +},{}],81:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8832,7 +8759,7 @@ var PooledClass = { module.exports = PooledClass; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],84:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],82:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -8873,7 +8800,7 @@ React.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOM; React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOMServer; module.exports = React; -},{"./Object.assign":82,"./ReactDOM":98,"./ReactDOMServer":108,"./ReactIsomorphic":127,"./deprecated":179}],85:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactDOM":96,"./ReactDOMServer":106,"./ReactIsomorphic":125,"./deprecated":177}],83:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -8913,7 +8840,7 @@ var ReactBrowserComponentMixin = { module.exports = ReactBrowserComponentMixin; }).call(this,require('_process')) -},{"./ReactInstanceMap":126,"./findDOMNode":181,"_process":1,"fbjs/lib/warning":232}],86:[function(require,module,exports){ +},{"./ReactInstanceMap":124,"./findDOMNode":179,"_process":23,"fbjs/lib/warning":230}],84:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9238,7 +9165,7 @@ ReactPerf.measureMethods(ReactBrowserEventEmitter, 'ReactBrowserEventEmitter', { }); module.exports = ReactBrowserEventEmitter; -},{"./EventConstants":73,"./EventPluginHub":74,"./EventPluginRegistry":75,"./Object.assign":82,"./ReactEventEmitterMixin":120,"./ReactPerf":136,"./ViewportMetrics":173,"./isEventSupported":192}],87:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPluginHub":72,"./EventPluginRegistry":73,"./Object.assign":80,"./ReactEventEmitterMixin":118,"./ReactPerf":134,"./ViewportMetrics":171,"./isEventSupported":190}],85:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9322,7 +9249,7 @@ var ReactCSSTransitionGroup = React.createClass({ }); module.exports = ReactCSSTransitionGroup; -},{"./Object.assign":82,"./React":84,"./ReactCSSTransitionGroupChild":88,"./ReactTransitionGroup":152}],88:[function(require,module,exports){ +},{"./Object.assign":80,"./React":82,"./ReactCSSTransitionGroupChild":86,"./ReactTransitionGroup":150}],86:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9488,7 +9415,7 @@ var ReactCSSTransitionGroupChild = React.createClass({ }); module.exports = ReactCSSTransitionGroupChild; -},{"./React":84,"./ReactDOM":98,"./ReactTransitionEvents":151,"./onlyChild":194,"fbjs/lib/CSSCore":204}],89:[function(require,module,exports){ +},{"./React":82,"./ReactDOM":96,"./ReactTransitionEvents":149,"./onlyChild":192,"fbjs/lib/CSSCore":202}],87:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -9614,7 +9541,7 @@ var ReactChildReconciler = { module.exports = ReactChildReconciler; }).call(this,require('_process')) -},{"./ReactReconciler":142,"./instantiateReactComponent":191,"./shouldUpdateReactComponent":200,"./traverseAllChildren":201,"_process":1,"fbjs/lib/warning":232}],90:[function(require,module,exports){ +},{"./ReactReconciler":140,"./instantiateReactComponent":189,"./shouldUpdateReactComponent":198,"./traverseAllChildren":199,"_process":23,"fbjs/lib/warning":230}],88:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -9797,7 +9724,7 @@ var ReactChildren = { }; module.exports = ReactChildren; -},{"./PooledClass":83,"./ReactElement":115,"./traverseAllChildren":201,"fbjs/lib/emptyFunction":212}],91:[function(require,module,exports){ +},{"./PooledClass":81,"./ReactElement":113,"./traverseAllChildren":199,"fbjs/lib/emptyFunction":210}],89:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -10572,7 +10499,7 @@ var ReactClass = { module.exports = ReactClass; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactComponent":92,"./ReactElement":115,"./ReactNoopUpdateQueue":134,"./ReactPropTypeLocationNames":138,"./ReactPropTypeLocations":139,"_process":1,"fbjs/lib/emptyObject":213,"fbjs/lib/invariant":220,"fbjs/lib/keyMirror":224,"fbjs/lib/keyOf":225,"fbjs/lib/warning":232}],92:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactComponent":90,"./ReactElement":113,"./ReactNoopUpdateQueue":132,"./ReactPropTypeLocationNames":136,"./ReactPropTypeLocations":137,"_process":23,"fbjs/lib/emptyObject":211,"fbjs/lib/invariant":218,"fbjs/lib/keyMirror":222,"fbjs/lib/keyOf":223,"fbjs/lib/warning":230}],90:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -10698,7 +10625,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactComponent; }).call(this,require('_process')) -},{"./ReactNoopUpdateQueue":134,"./canDefineProperty":176,"_process":1,"fbjs/lib/emptyObject":213,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],93:[function(require,module,exports){ +},{"./ReactNoopUpdateQueue":132,"./canDefineProperty":174,"_process":23,"fbjs/lib/emptyObject":211,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],91:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -10740,7 +10667,7 @@ var ReactComponentBrowserEnvironment = { }; module.exports = ReactComponentBrowserEnvironment; -},{"./ReactDOMIDOperations":103,"./ReactMount":130}],94:[function(require,module,exports){ +},{"./ReactDOMIDOperations":101,"./ReactMount":128}],92:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -10795,7 +10722,7 @@ var ReactComponentEnvironment = { module.exports = ReactComponentEnvironment; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],95:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],93:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -10842,7 +10769,7 @@ var ReactComponentWithPureRenderMixin = { }; module.exports = ReactComponentWithPureRenderMixin; -},{"./shallowCompare":199}],96:[function(require,module,exports){ +},{"./shallowCompare":197}],94:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -11540,7 +11467,7 @@ var ReactCompositeComponent = { module.exports = ReactCompositeComponent; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactComponentEnvironment":94,"./ReactCurrentOwner":97,"./ReactElement":115,"./ReactInstanceMap":126,"./ReactPerf":136,"./ReactPropTypeLocationNames":138,"./ReactPropTypeLocations":139,"./ReactReconciler":142,"./ReactUpdateQueue":153,"./shouldUpdateReactComponent":200,"_process":1,"fbjs/lib/emptyObject":213,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],97:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactComponentEnvironment":92,"./ReactCurrentOwner":95,"./ReactElement":113,"./ReactInstanceMap":124,"./ReactPerf":134,"./ReactPropTypeLocationNames":136,"./ReactPropTypeLocations":137,"./ReactReconciler":140,"./ReactUpdateQueue":151,"./shouldUpdateReactComponent":198,"_process":23,"fbjs/lib/emptyObject":211,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],95:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11571,7 +11498,7 @@ var ReactCurrentOwner = { }; module.exports = ReactCurrentOwner; -},{}],98:[function(require,module,exports){ +},{}],96:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -11667,7 +11594,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = React; }).call(this,require('_process')) -},{"./ReactCurrentOwner":97,"./ReactDOMTextComponent":109,"./ReactDefaultInjection":112,"./ReactInstanceHandles":125,"./ReactMount":130,"./ReactPerf":136,"./ReactReconciler":142,"./ReactUpdates":154,"./ReactVersion":155,"./findDOMNode":181,"./renderSubtreeIntoContainer":196,"_process":1,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/warning":232}],99:[function(require,module,exports){ +},{"./ReactCurrentOwner":95,"./ReactDOMTextComponent":107,"./ReactDefaultInjection":110,"./ReactInstanceHandles":123,"./ReactMount":128,"./ReactPerf":134,"./ReactReconciler":140,"./ReactUpdates":152,"./ReactVersion":153,"./findDOMNode":179,"./renderSubtreeIntoContainer":194,"_process":23,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/warning":230}],97:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -11718,7 +11645,7 @@ var ReactDOMButton = { }; module.exports = ReactDOMButton; -},{}],100:[function(require,module,exports){ +},{}],98:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -12684,7 +12611,7 @@ assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mix module.exports = ReactDOMComponent; }).call(this,require('_process')) -},{"./AutoFocusUtils":60,"./CSSPropertyOperations":63,"./DOMProperty":68,"./DOMPropertyOperations":69,"./EventConstants":73,"./Object.assign":82,"./ReactBrowserEventEmitter":86,"./ReactComponentBrowserEnvironment":93,"./ReactDOMButton":99,"./ReactDOMInput":104,"./ReactDOMOption":105,"./ReactDOMSelect":106,"./ReactDOMTextarea":110,"./ReactMount":130,"./ReactMultiChild":131,"./ReactPerf":136,"./ReactUpdateQueue":153,"./canDefineProperty":176,"./escapeTextContentForBrowser":180,"./isEventSupported":192,"./setInnerHTML":197,"./setTextContent":198,"./validateDOMNesting":203,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/keyOf":225,"fbjs/lib/shallowEqual":230,"fbjs/lib/warning":232}],101:[function(require,module,exports){ +},{"./AutoFocusUtils":58,"./CSSPropertyOperations":61,"./DOMProperty":66,"./DOMPropertyOperations":67,"./EventConstants":71,"./Object.assign":80,"./ReactBrowserEventEmitter":84,"./ReactComponentBrowserEnvironment":91,"./ReactDOMButton":97,"./ReactDOMInput":102,"./ReactDOMOption":103,"./ReactDOMSelect":104,"./ReactDOMTextarea":108,"./ReactMount":128,"./ReactMultiChild":129,"./ReactPerf":134,"./ReactUpdateQueue":151,"./canDefineProperty":174,"./escapeTextContentForBrowser":178,"./isEventSupported":190,"./setInnerHTML":195,"./setTextContent":196,"./validateDOMNesting":201,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/keyOf":223,"fbjs/lib/shallowEqual":228,"fbjs/lib/warning":230}],99:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -12865,7 +12792,7 @@ var ReactDOMFactories = mapObject({ module.exports = ReactDOMFactories; }).call(this,require('_process')) -},{"./ReactElement":115,"./ReactElementValidator":116,"_process":1,"fbjs/lib/mapObject":226}],102:[function(require,module,exports){ +},{"./ReactElement":113,"./ReactElementValidator":114,"_process":23,"fbjs/lib/mapObject":224}],100:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -12884,7 +12811,7 @@ var ReactDOMFeatureFlags = { }; module.exports = ReactDOMFeatureFlags; -},{}],103:[function(require,module,exports){ +},{}],101:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -12982,7 +12909,7 @@ ReactPerf.measureMethods(ReactDOMIDOperations, 'ReactDOMIDOperations', { module.exports = ReactDOMIDOperations; }).call(this,require('_process')) -},{"./DOMChildrenOperations":67,"./DOMPropertyOperations":69,"./ReactMount":130,"./ReactPerf":136,"_process":1,"fbjs/lib/invariant":220}],104:[function(require,module,exports){ +},{"./DOMChildrenOperations":65,"./DOMPropertyOperations":67,"./ReactMount":128,"./ReactPerf":134,"_process":23,"fbjs/lib/invariant":218}],102:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13139,7 +13066,7 @@ function _handleChange(event) { module.exports = ReactDOMInput; }).call(this,require('_process')) -},{"./LinkedValueUtils":81,"./Object.assign":82,"./ReactDOMIDOperations":103,"./ReactMount":130,"./ReactUpdates":154,"_process":1,"fbjs/lib/invariant":220}],105:[function(require,module,exports){ +},{"./LinkedValueUtils":79,"./Object.assign":80,"./ReactDOMIDOperations":101,"./ReactMount":128,"./ReactUpdates":152,"_process":23,"fbjs/lib/invariant":218}],103:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13232,7 +13159,7 @@ var ReactDOMOption = { module.exports = ReactDOMOption; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactChildren":90,"./ReactDOMSelect":106,"_process":1,"fbjs/lib/warning":232}],106:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactChildren":88,"./ReactDOMSelect":104,"_process":23,"fbjs/lib/warning":230}],104:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13424,7 +13351,7 @@ function _handleChange(event) { module.exports = ReactDOMSelect; }).call(this,require('_process')) -},{"./LinkedValueUtils":81,"./Object.assign":82,"./ReactMount":130,"./ReactUpdates":154,"_process":1,"fbjs/lib/warning":232}],107:[function(require,module,exports){ +},{"./LinkedValueUtils":79,"./Object.assign":80,"./ReactMount":128,"./ReactUpdates":152,"_process":23,"fbjs/lib/warning":230}],105:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13637,7 +13564,7 @@ var ReactDOMSelection = { }; module.exports = ReactDOMSelection; -},{"./getNodeForCharacterOffset":189,"./getTextContentAccessor":190,"fbjs/lib/ExecutionEnvironment":206}],108:[function(require,module,exports){ +},{"./getNodeForCharacterOffset":187,"./getTextContentAccessor":188,"fbjs/lib/ExecutionEnvironment":204}],106:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13664,7 +13591,7 @@ var ReactDOMServer = { }; module.exports = ReactDOMServer; -},{"./ReactDefaultInjection":112,"./ReactServerRendering":146,"./ReactVersion":155}],109:[function(require,module,exports){ +},{"./ReactDefaultInjection":110,"./ReactServerRendering":144,"./ReactVersion":153}],107:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13795,7 +13722,7 @@ assign(ReactDOMTextComponent.prototype, { module.exports = ReactDOMTextComponent; }).call(this,require('_process')) -},{"./DOMChildrenOperations":67,"./DOMPropertyOperations":69,"./Object.assign":82,"./ReactComponentBrowserEnvironment":93,"./ReactMount":130,"./escapeTextContentForBrowser":180,"./setTextContent":198,"./validateDOMNesting":203,"_process":1}],110:[function(require,module,exports){ +},{"./DOMChildrenOperations":65,"./DOMPropertyOperations":67,"./Object.assign":80,"./ReactComponentBrowserEnvironment":91,"./ReactMount":128,"./escapeTextContentForBrowser":178,"./setTextContent":196,"./validateDOMNesting":201,"_process":23}],108:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -13912,7 +13839,7 @@ function _handleChange(event) { module.exports = ReactDOMTextarea; }).call(this,require('_process')) -},{"./LinkedValueUtils":81,"./Object.assign":82,"./ReactDOMIDOperations":103,"./ReactUpdates":154,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],111:[function(require,module,exports){ +},{"./LinkedValueUtils":79,"./Object.assign":80,"./ReactDOMIDOperations":101,"./ReactUpdates":152,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],109:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -13980,7 +13907,7 @@ var ReactDefaultBatchingStrategy = { }; module.exports = ReactDefaultBatchingStrategy; -},{"./Object.assign":82,"./ReactUpdates":154,"./Transaction":172,"fbjs/lib/emptyFunction":212}],112:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactUpdates":152,"./Transaction":170,"fbjs/lib/emptyFunction":210}],110:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -14081,7 +14008,7 @@ module.exports = { }; }).call(this,require('_process')) -},{"./BeforeInputEventPlugin":61,"./ChangeEventPlugin":65,"./ClientReactRootIndex":66,"./DefaultEventPluginOrder":71,"./EnterLeaveEventPlugin":72,"./HTMLDOMPropertyConfig":79,"./ReactBrowserComponentMixin":85,"./ReactComponentBrowserEnvironment":93,"./ReactDOMComponent":100,"./ReactDOMTextComponent":109,"./ReactDefaultBatchingStrategy":111,"./ReactDefaultPerf":113,"./ReactEventListener":121,"./ReactInjection":123,"./ReactInstanceHandles":125,"./ReactMount":130,"./ReactReconcileTransaction":141,"./SVGDOMPropertyConfig":157,"./SelectEventPlugin":158,"./ServerReactRootIndex":159,"./SimpleEventPlugin":160,"_process":1,"fbjs/lib/ExecutionEnvironment":206}],113:[function(require,module,exports){ +},{"./BeforeInputEventPlugin":59,"./ChangeEventPlugin":63,"./ClientReactRootIndex":64,"./DefaultEventPluginOrder":69,"./EnterLeaveEventPlugin":70,"./HTMLDOMPropertyConfig":77,"./ReactBrowserComponentMixin":83,"./ReactComponentBrowserEnvironment":91,"./ReactDOMComponent":98,"./ReactDOMTextComponent":107,"./ReactDefaultBatchingStrategy":109,"./ReactDefaultPerf":111,"./ReactEventListener":119,"./ReactInjection":121,"./ReactInstanceHandles":123,"./ReactMount":128,"./ReactReconcileTransaction":139,"./SVGDOMPropertyConfig":155,"./SelectEventPlugin":156,"./ServerReactRootIndex":157,"./SimpleEventPlugin":158,"_process":23,"fbjs/lib/ExecutionEnvironment":204}],111:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -14319,7 +14246,7 @@ var ReactDefaultPerf = { }; module.exports = ReactDefaultPerf; -},{"./DOMProperty":68,"./ReactDefaultPerfAnalysis":114,"./ReactMount":130,"./ReactPerf":136,"fbjs/lib/performanceNow":229}],114:[function(require,module,exports){ +},{"./DOMProperty":66,"./ReactDefaultPerfAnalysis":112,"./ReactMount":128,"./ReactPerf":134,"fbjs/lib/performanceNow":227}],112:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -14521,7 +14448,7 @@ var ReactDefaultPerfAnalysis = { }; module.exports = ReactDefaultPerfAnalysis; -},{"./Object.assign":82}],115:[function(require,module,exports){ +},{"./Object.assign":80}],113:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -14772,7 +14699,7 @@ ReactElement.isValidElement = function (object) { module.exports = ReactElement; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactCurrentOwner":97,"./canDefineProperty":176,"_process":1}],116:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactCurrentOwner":95,"./canDefineProperty":174,"_process":23}],114:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -15057,7 +14984,7 @@ var ReactElementValidator = { module.exports = ReactElementValidator; }).call(this,require('_process')) -},{"./ReactCurrentOwner":97,"./ReactElement":115,"./ReactPropTypeLocationNames":138,"./ReactPropTypeLocations":139,"./canDefineProperty":176,"./getIteratorFn":188,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],117:[function(require,module,exports){ +},{"./ReactCurrentOwner":95,"./ReactElement":113,"./ReactPropTypeLocationNames":136,"./ReactPropTypeLocations":137,"./canDefineProperty":174,"./getIteratorFn":186,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],115:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -15109,7 +15036,7 @@ assign(ReactEmptyComponent.prototype, { ReactEmptyComponent.injection = ReactEmptyComponentInjection; module.exports = ReactEmptyComponent; -},{"./Object.assign":82,"./ReactElement":115,"./ReactEmptyComponentRegistry":118,"./ReactReconciler":142}],118:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactElement":113,"./ReactEmptyComponentRegistry":116,"./ReactReconciler":140}],116:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -15158,7 +15085,7 @@ var ReactEmptyComponentRegistry = { }; module.exports = ReactEmptyComponentRegistry; -},{}],119:[function(require,module,exports){ +},{}],117:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -15239,7 +15166,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactErrorUtils; }).call(this,require('_process')) -},{"_process":1}],120:[function(require,module,exports){ +},{"_process":23}],118:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15278,7 +15205,7 @@ var ReactEventEmitterMixin = { }; module.exports = ReactEventEmitterMixin; -},{"./EventPluginHub":74}],121:[function(require,module,exports){ +},{"./EventPluginHub":72}],119:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15490,7 +15417,7 @@ var ReactEventListener = { }; module.exports = ReactEventListener; -},{"./Object.assign":82,"./PooledClass":83,"./ReactInstanceHandles":125,"./ReactMount":130,"./ReactUpdates":154,"./getEventTarget":187,"fbjs/lib/EventListener":205,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/getUnboundedScrollPosition":217}],122:[function(require,module,exports){ +},{"./Object.assign":80,"./PooledClass":81,"./ReactInstanceHandles":123,"./ReactMount":128,"./ReactUpdates":152,"./getEventTarget":185,"fbjs/lib/EventListener":203,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/getUnboundedScrollPosition":215}],120:[function(require,module,exports){ (function (process){ /** * Copyright 2015, Facebook, Inc. @@ -15558,7 +15485,7 @@ var ReactFragment = { module.exports = ReactFragment; }).call(this,require('_process')) -},{"./ReactChildren":90,"./ReactElement":115,"_process":1,"fbjs/lib/emptyFunction":212,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],123:[function(require,module,exports){ +},{"./ReactChildren":88,"./ReactElement":113,"_process":23,"fbjs/lib/emptyFunction":210,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],121:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15597,7 +15524,7 @@ var ReactInjection = { }; module.exports = ReactInjection; -},{"./DOMProperty":68,"./EventPluginHub":74,"./ReactBrowserEventEmitter":86,"./ReactClass":91,"./ReactComponentEnvironment":94,"./ReactEmptyComponent":117,"./ReactNativeComponent":133,"./ReactPerf":136,"./ReactRootIndex":144,"./ReactUpdates":154}],124:[function(require,module,exports){ +},{"./DOMProperty":66,"./EventPluginHub":72,"./ReactBrowserEventEmitter":84,"./ReactClass":89,"./ReactComponentEnvironment":92,"./ReactEmptyComponent":115,"./ReactNativeComponent":131,"./ReactPerf":134,"./ReactRootIndex":142,"./ReactUpdates":152}],122:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -15722,7 +15649,7 @@ var ReactInputSelection = { }; module.exports = ReactInputSelection; -},{"./ReactDOMSelection":107,"fbjs/lib/containsNode":209,"fbjs/lib/focusNode":214,"fbjs/lib/getActiveElement":215}],125:[function(require,module,exports){ +},{"./ReactDOMSelection":105,"fbjs/lib/containsNode":207,"fbjs/lib/focusNode":212,"fbjs/lib/getActiveElement":213}],123:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -16028,7 +15955,7 @@ var ReactInstanceHandles = { module.exports = ReactInstanceHandles; }).call(this,require('_process')) -},{"./ReactRootIndex":144,"_process":1,"fbjs/lib/invariant":220}],126:[function(require,module,exports){ +},{"./ReactRootIndex":142,"_process":23,"fbjs/lib/invariant":218}],124:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16076,7 +16003,7 @@ var ReactInstanceMap = { }; module.exports = ReactInstanceMap; -},{}],127:[function(require,module,exports){ +},{}],125:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -16154,7 +16081,7 @@ var React = { module.exports = React; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactChildren":90,"./ReactClass":91,"./ReactComponent":92,"./ReactDOMFactories":101,"./ReactElement":115,"./ReactElementValidator":116,"./ReactPropTypes":140,"./ReactVersion":155,"./onlyChild":194,"_process":1}],128:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactChildren":88,"./ReactClass":89,"./ReactComponent":90,"./ReactDOMFactories":99,"./ReactElement":113,"./ReactElementValidator":114,"./ReactPropTypes":138,"./ReactVersion":153,"./onlyChild":192,"_process":23}],126:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16224,7 +16151,7 @@ ReactLink.PropTypes = { }; module.exports = ReactLink; -},{"./React":84}],129:[function(require,module,exports){ +},{"./React":82}],127:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -16270,7 +16197,7 @@ var ReactMarkupChecksum = { }; module.exports = ReactMarkupChecksum; -},{"./adler32":175}],130:[function(require,module,exports){ +},{"./adler32":173}],128:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17124,7 +17051,7 @@ ReactPerf.measureMethods(ReactMount, 'ReactMount', { module.exports = ReactMount; }).call(this,require('_process')) -},{"./DOMProperty":68,"./Object.assign":82,"./ReactBrowserEventEmitter":86,"./ReactCurrentOwner":97,"./ReactDOMFeatureFlags":102,"./ReactElement":115,"./ReactEmptyComponentRegistry":118,"./ReactInstanceHandles":125,"./ReactInstanceMap":126,"./ReactMarkupChecksum":129,"./ReactPerf":136,"./ReactReconciler":142,"./ReactUpdateQueue":153,"./ReactUpdates":154,"./instantiateReactComponent":191,"./setInnerHTML":197,"./shouldUpdateReactComponent":200,"./validateDOMNesting":203,"_process":1,"fbjs/lib/containsNode":209,"fbjs/lib/emptyObject":213,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],131:[function(require,module,exports){ +},{"./DOMProperty":66,"./Object.assign":80,"./ReactBrowserEventEmitter":84,"./ReactCurrentOwner":95,"./ReactDOMFeatureFlags":100,"./ReactElement":113,"./ReactEmptyComponentRegistry":116,"./ReactInstanceHandles":123,"./ReactInstanceMap":124,"./ReactMarkupChecksum":127,"./ReactPerf":134,"./ReactReconciler":140,"./ReactUpdateQueue":151,"./ReactUpdates":152,"./instantiateReactComponent":189,"./setInnerHTML":195,"./shouldUpdateReactComponent":198,"./validateDOMNesting":201,"_process":23,"fbjs/lib/containsNode":207,"fbjs/lib/emptyObject":211,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],129:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17624,7 +17551,7 @@ var ReactMultiChild = { module.exports = ReactMultiChild; }).call(this,require('_process')) -},{"./ReactChildReconciler":89,"./ReactComponentEnvironment":94,"./ReactCurrentOwner":97,"./ReactMultiChildUpdateTypes":132,"./ReactReconciler":142,"./flattenChildren":182,"_process":1}],132:[function(require,module,exports){ +},{"./ReactChildReconciler":87,"./ReactComponentEnvironment":92,"./ReactCurrentOwner":95,"./ReactMultiChildUpdateTypes":130,"./ReactReconciler":140,"./flattenChildren":180,"_process":23}],130:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -17657,7 +17584,7 @@ var ReactMultiChildUpdateTypes = keyMirror({ }); module.exports = ReactMultiChildUpdateTypes; -},{"fbjs/lib/keyMirror":224}],133:[function(require,module,exports){ +},{"fbjs/lib/keyMirror":222}],131:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -17755,7 +17682,7 @@ var ReactNativeComponent = { module.exports = ReactNativeComponent; }).call(this,require('_process')) -},{"./Object.assign":82,"_process":1,"fbjs/lib/invariant":220}],134:[function(require,module,exports){ +},{"./Object.assign":80,"_process":23,"fbjs/lib/invariant":218}],132:[function(require,module,exports){ (function (process){ /** * Copyright 2015, Facebook, Inc. @@ -17877,7 +17804,7 @@ var ReactNoopUpdateQueue = { module.exports = ReactNoopUpdateQueue; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/warning":232}],135:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/warning":230}],133:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -17972,7 +17899,7 @@ var ReactOwner = { module.exports = ReactOwner; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],136:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],134:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -18072,7 +17999,7 @@ function _noMeasure(objName, fnName, func) { module.exports = ReactPerf; }).call(this,require('_process')) -},{"_process":1}],137:[function(require,module,exports){ +},{"_process":23}],135:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18181,7 +18108,7 @@ var ReactPropTransferer = { }; module.exports = ReactPropTransferer; -},{"./Object.assign":82,"fbjs/lib/emptyFunction":212,"fbjs/lib/joinClasses":223}],138:[function(require,module,exports){ +},{"./Object.assign":80,"fbjs/lib/emptyFunction":210,"fbjs/lib/joinClasses":221}],136:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -18209,7 +18136,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactPropTypeLocationNames; }).call(this,require('_process')) -},{"_process":1}],139:[function(require,module,exports){ +},{"_process":23}],137:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18232,7 +18159,7 @@ var ReactPropTypeLocations = keyMirror({ }); module.exports = ReactPropTypeLocations; -},{"fbjs/lib/keyMirror":224}],140:[function(require,module,exports){ +},{"fbjs/lib/keyMirror":222}],138:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18589,7 +18516,7 @@ function getClassName(propValue) { } module.exports = ReactPropTypes; -},{"./ReactElement":115,"./ReactPropTypeLocationNames":138,"./getIteratorFn":188,"fbjs/lib/emptyFunction":212}],141:[function(require,module,exports){ +},{"./ReactElement":113,"./ReactPropTypeLocationNames":136,"./getIteratorFn":186,"fbjs/lib/emptyFunction":210}],139:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18741,7 +18668,7 @@ assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin); PooledClass.addPoolingTo(ReactReconcileTransaction); module.exports = ReactReconcileTransaction; -},{"./CallbackQueue":64,"./Object.assign":82,"./PooledClass":83,"./ReactBrowserEventEmitter":86,"./ReactDOMFeatureFlags":102,"./ReactInputSelection":124,"./Transaction":172}],142:[function(require,module,exports){ +},{"./CallbackQueue":62,"./Object.assign":80,"./PooledClass":81,"./ReactBrowserEventEmitter":84,"./ReactDOMFeatureFlags":100,"./ReactInputSelection":122,"./Transaction":170}],140:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18849,7 +18776,7 @@ var ReactReconciler = { }; module.exports = ReactReconciler; -},{"./ReactRef":143}],143:[function(require,module,exports){ +},{"./ReactRef":141}],141:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18928,7 +18855,7 @@ ReactRef.detachRefs = function (instance, element) { }; module.exports = ReactRef; -},{"./ReactOwner":135}],144:[function(require,module,exports){ +},{"./ReactOwner":133}],142:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -18958,7 +18885,7 @@ var ReactRootIndex = { }; module.exports = ReactRootIndex; -},{}],145:[function(require,module,exports){ +},{}],143:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -18982,7 +18909,7 @@ var ReactServerBatchingStrategy = { }; module.exports = ReactServerBatchingStrategy; -},{}],146:[function(require,module,exports){ +},{}],144:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -19069,7 +18996,7 @@ module.exports = { }; }).call(this,require('_process')) -},{"./ReactDefaultBatchingStrategy":111,"./ReactElement":115,"./ReactInstanceHandles":125,"./ReactMarkupChecksum":129,"./ReactServerBatchingStrategy":145,"./ReactServerRenderingTransaction":147,"./ReactUpdates":154,"./instantiateReactComponent":191,"_process":1,"fbjs/lib/emptyObject":213,"fbjs/lib/invariant":220}],147:[function(require,module,exports){ +},{"./ReactDefaultBatchingStrategy":109,"./ReactElement":113,"./ReactInstanceHandles":123,"./ReactMarkupChecksum":127,"./ReactServerBatchingStrategy":143,"./ReactServerRenderingTransaction":145,"./ReactUpdates":152,"./instantiateReactComponent":189,"_process":23,"fbjs/lib/emptyObject":211,"fbjs/lib/invariant":218}],145:[function(require,module,exports){ /** * Copyright 2014-2015, Facebook, Inc. * All rights reserved. @@ -19157,7 +19084,7 @@ assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin); PooledClass.addPoolingTo(ReactServerRenderingTransaction); module.exports = ReactServerRenderingTransaction; -},{"./CallbackQueue":64,"./Object.assign":82,"./PooledClass":83,"./Transaction":172,"fbjs/lib/emptyFunction":212}],148:[function(require,module,exports){ +},{"./CallbackQueue":62,"./Object.assign":80,"./PooledClass":81,"./Transaction":170,"fbjs/lib/emptyFunction":210}],146:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19262,7 +19189,7 @@ ReactStateSetters.Mixin = { }; module.exports = ReactStateSetters; -},{}],149:[function(require,module,exports){ +},{}],147:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -19743,7 +19670,7 @@ Object.keys(topLevelTypes).forEach(function (eventType) { module.exports = ReactTestUtils; }).call(this,require('_process')) -},{"./EventConstants":73,"./EventPluginHub":74,"./EventPropagators":77,"./Object.assign":82,"./React":84,"./ReactBrowserEventEmitter":86,"./ReactCompositeComponent":96,"./ReactDOM":98,"./ReactElement":115,"./ReactInstanceHandles":125,"./ReactInstanceMap":126,"./ReactMount":130,"./ReactUpdates":154,"./SyntheticEvent":164,"./findDOMNode":181,"_process":1,"fbjs/lib/emptyObject":213,"fbjs/lib/invariant":220}],150:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPluginHub":72,"./EventPropagators":75,"./Object.assign":80,"./React":82,"./ReactBrowserEventEmitter":84,"./ReactCompositeComponent":94,"./ReactDOM":96,"./ReactElement":113,"./ReactInstanceHandles":123,"./ReactInstanceMap":124,"./ReactMount":128,"./ReactUpdates":152,"./SyntheticEvent":162,"./findDOMNode":179,"_process":23,"fbjs/lib/emptyObject":211,"fbjs/lib/invariant":218}],148:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19842,7 +19769,7 @@ var ReactTransitionChildMapping = { }; module.exports = ReactTransitionChildMapping; -},{"./flattenChildren":182}],151:[function(require,module,exports){ +},{"./flattenChildren":180}],149:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -19952,7 +19879,7 @@ var ReactTransitionEvents = { }; module.exports = ReactTransitionEvents; -},{"fbjs/lib/ExecutionEnvironment":206}],152:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":204}],150:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -20158,7 +20085,7 @@ var ReactTransitionGroup = React.createClass({ }); module.exports = ReactTransitionGroup; -},{"./Object.assign":82,"./React":84,"./ReactTransitionChildMapping":150,"fbjs/lib/emptyFunction":212}],153:[function(require,module,exports){ +},{"./Object.assign":80,"./React":82,"./ReactTransitionChildMapping":148,"fbjs/lib/emptyFunction":210}],151:[function(require,module,exports){ (function (process){ /** * Copyright 2015, Facebook, Inc. @@ -20419,7 +20346,7 @@ var ReactUpdateQueue = { module.exports = ReactUpdateQueue; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactCurrentOwner":97,"./ReactElement":115,"./ReactInstanceMap":126,"./ReactUpdates":154,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],154:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactCurrentOwner":95,"./ReactElement":113,"./ReactInstanceMap":124,"./ReactUpdates":152,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],152:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -20646,7 +20573,7 @@ var ReactUpdates = { module.exports = ReactUpdates; }).call(this,require('_process')) -},{"./CallbackQueue":64,"./Object.assign":82,"./PooledClass":83,"./ReactPerf":136,"./ReactReconciler":142,"./Transaction":172,"_process":1,"fbjs/lib/invariant":220}],155:[function(require,module,exports){ +},{"./CallbackQueue":62,"./Object.assign":80,"./PooledClass":81,"./ReactPerf":134,"./ReactReconciler":140,"./Transaction":170,"_process":23,"fbjs/lib/invariant":218}],153:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -20661,7 +20588,7 @@ module.exports = ReactUpdates; 'use strict'; module.exports = '0.14.7'; -},{}],156:[function(require,module,exports){ +},{}],154:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -20725,7 +20652,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = React; }).call(this,require('_process')) -},{"./LinkedStateMixin":80,"./React":84,"./ReactCSSTransitionGroup":87,"./ReactComponentWithPureRenderMixin":95,"./ReactDefaultPerf":113,"./ReactFragment":122,"./ReactTestUtils":149,"./ReactTransitionGroup":152,"./ReactUpdates":154,"./cloneWithProps":177,"./shallowCompare":199,"./update":202,"_process":1,"fbjs/lib/warning":232}],157:[function(require,module,exports){ +},{"./LinkedStateMixin":78,"./React":82,"./ReactCSSTransitionGroup":85,"./ReactComponentWithPureRenderMixin":93,"./ReactDefaultPerf":111,"./ReactFragment":120,"./ReactTestUtils":147,"./ReactTransitionGroup":150,"./ReactUpdates":152,"./cloneWithProps":175,"./shallowCompare":197,"./update":200,"_process":23,"fbjs/lib/warning":230}],155:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -20853,7 +20780,7 @@ var SVGDOMPropertyConfig = { }; module.exports = SVGDOMPropertyConfig; -},{"./DOMProperty":68}],158:[function(require,module,exports){ +},{"./DOMProperty":66}],156:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -21055,7 +20982,7 @@ var SelectEventPlugin = { }; module.exports = SelectEventPlugin; -},{"./EventConstants":73,"./EventPropagators":77,"./ReactInputSelection":124,"./SyntheticEvent":164,"./isTextInputElement":193,"fbjs/lib/ExecutionEnvironment":206,"fbjs/lib/getActiveElement":215,"fbjs/lib/keyOf":225,"fbjs/lib/shallowEqual":230}],159:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPropagators":75,"./ReactInputSelection":122,"./SyntheticEvent":162,"./isTextInputElement":191,"fbjs/lib/ExecutionEnvironment":204,"fbjs/lib/getActiveElement":213,"fbjs/lib/keyOf":223,"fbjs/lib/shallowEqual":228}],157:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -21085,7 +21012,7 @@ var ServerReactRootIndex = { }; module.exports = ServerReactRootIndex; -},{}],160:[function(require,module,exports){ +},{}],158:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -21676,7 +21603,7 @@ var SimpleEventPlugin = { module.exports = SimpleEventPlugin; }).call(this,require('_process')) -},{"./EventConstants":73,"./EventPropagators":77,"./ReactMount":130,"./SyntheticClipboardEvent":161,"./SyntheticDragEvent":163,"./SyntheticEvent":164,"./SyntheticFocusEvent":165,"./SyntheticKeyboardEvent":167,"./SyntheticMouseEvent":168,"./SyntheticTouchEvent":169,"./SyntheticUIEvent":170,"./SyntheticWheelEvent":171,"./getEventCharCode":184,"_process":1,"fbjs/lib/EventListener":205,"fbjs/lib/emptyFunction":212,"fbjs/lib/invariant":220,"fbjs/lib/keyOf":225}],161:[function(require,module,exports){ +},{"./EventConstants":71,"./EventPropagators":75,"./ReactMount":128,"./SyntheticClipboardEvent":159,"./SyntheticDragEvent":161,"./SyntheticEvent":162,"./SyntheticFocusEvent":163,"./SyntheticKeyboardEvent":165,"./SyntheticMouseEvent":166,"./SyntheticTouchEvent":167,"./SyntheticUIEvent":168,"./SyntheticWheelEvent":169,"./getEventCharCode":182,"_process":23,"fbjs/lib/EventListener":203,"fbjs/lib/emptyFunction":210,"fbjs/lib/invariant":218,"fbjs/lib/keyOf":223}],159:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -21716,7 +21643,7 @@ function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, na SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface); module.exports = SyntheticClipboardEvent; -},{"./SyntheticEvent":164}],162:[function(require,module,exports){ +},{"./SyntheticEvent":162}],160:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -21754,7 +21681,7 @@ function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); module.exports = SyntheticCompositionEvent; -},{"./SyntheticEvent":164}],163:[function(require,module,exports){ +},{"./SyntheticEvent":162}],161:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -21792,7 +21719,7 @@ function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeE SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface); module.exports = SyntheticDragEvent; -},{"./SyntheticMouseEvent":168}],164:[function(require,module,exports){ +},{"./SyntheticMouseEvent":166}],162:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -21976,7 +21903,7 @@ PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; }).call(this,require('_process')) -},{"./Object.assign":82,"./PooledClass":83,"_process":1,"fbjs/lib/emptyFunction":212,"fbjs/lib/warning":232}],165:[function(require,module,exports){ +},{"./Object.assign":80,"./PooledClass":81,"_process":23,"fbjs/lib/emptyFunction":210,"fbjs/lib/warning":230}],163:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22014,7 +21941,7 @@ function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface); module.exports = SyntheticFocusEvent; -},{"./SyntheticUIEvent":170}],166:[function(require,module,exports){ +},{"./SyntheticUIEvent":168}],164:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22053,7 +21980,7 @@ function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); module.exports = SyntheticInputEvent; -},{"./SyntheticEvent":164}],167:[function(require,module,exports){ +},{"./SyntheticEvent":162}],165:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22139,7 +22066,7 @@ function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nat SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface); module.exports = SyntheticKeyboardEvent; -},{"./SyntheticUIEvent":170,"./getEventCharCode":184,"./getEventKey":185,"./getEventModifierState":186}],168:[function(require,module,exports){ +},{"./SyntheticUIEvent":168,"./getEventCharCode":182,"./getEventKey":183,"./getEventModifierState":184}],166:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22213,7 +22140,7 @@ function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); module.exports = SyntheticMouseEvent; -},{"./SyntheticUIEvent":170,"./ViewportMetrics":173,"./getEventModifierState":186}],169:[function(require,module,exports){ +},{"./SyntheticUIEvent":168,"./ViewportMetrics":171,"./getEventModifierState":184}],167:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22260,7 +22187,7 @@ function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface); module.exports = SyntheticTouchEvent; -},{"./SyntheticUIEvent":170,"./getEventModifierState":186}],170:[function(require,module,exports){ +},{"./SyntheticUIEvent":168,"./getEventModifierState":184}],168:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22321,7 +22248,7 @@ function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEve SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); module.exports = SyntheticUIEvent; -},{"./SyntheticEvent":164,"./getEventTarget":187}],171:[function(require,module,exports){ +},{"./SyntheticEvent":162,"./getEventTarget":185}],169:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22377,7 +22304,7 @@ function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, native SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface); module.exports = SyntheticWheelEvent; -},{"./SyntheticMouseEvent":168}],172:[function(require,module,exports){ +},{"./SyntheticMouseEvent":166}],170:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -22612,7 +22539,7 @@ var Transaction = { module.exports = Transaction; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],173:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],171:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22640,7 +22567,7 @@ var ViewportMetrics = { }; module.exports = ViewportMetrics; -},{}],174:[function(require,module,exports){ +},{}],172:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -22703,7 +22630,7 @@ function accumulateInto(current, next) { module.exports = accumulateInto; }).call(this,require('_process')) -},{"_process":1,"fbjs/lib/invariant":220}],175:[function(require,module,exports){ +},{"_process":23,"fbjs/lib/invariant":218}],173:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22746,7 +22673,7 @@ function adler32(data) { } module.exports = adler32; -},{}],176:[function(require,module,exports){ +},{}],174:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -22774,7 +22701,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = canDefineProperty; }).call(this,require('_process')) -},{"_process":1}],177:[function(require,module,exports){ +},{"_process":23}],175:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -22832,7 +22759,7 @@ function cloneWithProps(child, props) { module.exports = cloneWithProps; }).call(this,require('_process')) -},{"./ReactElement":115,"./ReactPropTransferer":137,"_process":1,"fbjs/lib/keyOf":225,"fbjs/lib/warning":232}],178:[function(require,module,exports){ +},{"./ReactElement":113,"./ReactPropTransferer":135,"_process":23,"fbjs/lib/keyOf":223,"fbjs/lib/warning":230}],176:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22888,7 +22815,7 @@ function dangerousStyleValue(name, value) { } module.exports = dangerousStyleValue; -},{"./CSSProperty":62}],179:[function(require,module,exports){ +},{"./CSSProperty":60}],177:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -22940,7 +22867,7 @@ function deprecated(fnName, newModule, newPackage, ctx, fn) { module.exports = deprecated; }).call(this,require('_process')) -},{"./Object.assign":82,"_process":1,"fbjs/lib/warning":232}],180:[function(require,module,exports){ +},{"./Object.assign":80,"_process":23,"fbjs/lib/warning":230}],178:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -22979,7 +22906,7 @@ function escapeTextContentForBrowser(text) { } module.exports = escapeTextContentForBrowser; -},{}],181:[function(require,module,exports){ +},{}],179:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -23032,7 +22959,7 @@ function findDOMNode(componentOrElement) { module.exports = findDOMNode; }).call(this,require('_process')) -},{"./ReactCurrentOwner":97,"./ReactInstanceMap":126,"./ReactMount":130,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],182:[function(require,module,exports){ +},{"./ReactCurrentOwner":95,"./ReactInstanceMap":124,"./ReactMount":128,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],180:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -23084,7 +23011,7 @@ function flattenChildren(children) { module.exports = flattenChildren; }).call(this,require('_process')) -},{"./traverseAllChildren":201,"_process":1,"fbjs/lib/warning":232}],183:[function(require,module,exports){ +},{"./traverseAllChildren":199,"_process":23,"fbjs/lib/warning":230}],181:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23114,7 +23041,7 @@ var forEachAccumulated = function (arr, cb, scope) { }; module.exports = forEachAccumulated; -},{}],184:[function(require,module,exports){ +},{}],182:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23165,7 +23092,7 @@ function getEventCharCode(nativeEvent) { } module.exports = getEventCharCode; -},{}],185:[function(require,module,exports){ +},{}],183:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23269,7 +23196,7 @@ function getEventKey(nativeEvent) { } module.exports = getEventKey; -},{"./getEventCharCode":184}],186:[function(require,module,exports){ +},{"./getEventCharCode":182}],184:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23314,7 +23241,7 @@ function getEventModifierState(nativeEvent) { } module.exports = getEventModifierState; -},{}],187:[function(require,module,exports){ +},{}],185:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23344,7 +23271,7 @@ function getEventTarget(nativeEvent) { } module.exports = getEventTarget; -},{}],188:[function(require,module,exports){ +},{}],186:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23385,7 +23312,7 @@ function getIteratorFn(maybeIterable) { } module.exports = getIteratorFn; -},{}],189:[function(require,module,exports){ +},{}],187:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23459,7 +23386,7 @@ function getNodeForCharacterOffset(root, offset) { } module.exports = getNodeForCharacterOffset; -},{}],190:[function(require,module,exports){ +},{}],188:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23493,7 +23420,7 @@ function getTextContentAccessor() { } module.exports = getTextContentAccessor; -},{"fbjs/lib/ExecutionEnvironment":206}],191:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":204}],189:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -23609,7 +23536,7 @@ function instantiateReactComponent(node) { module.exports = instantiateReactComponent; }).call(this,require('_process')) -},{"./Object.assign":82,"./ReactCompositeComponent":96,"./ReactEmptyComponent":117,"./ReactNativeComponent":133,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],192:[function(require,module,exports){ +},{"./Object.assign":80,"./ReactCompositeComponent":94,"./ReactEmptyComponent":115,"./ReactNativeComponent":131,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],190:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23670,7 +23597,7 @@ function isEventSupported(eventNameSuffix, capture) { } module.exports = isEventSupported; -},{"fbjs/lib/ExecutionEnvironment":206}],193:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":204}],191:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23711,7 +23638,7 @@ function isTextInputElement(elem) { } module.exports = isTextInputElement; -},{}],194:[function(require,module,exports){ +},{}],192:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -23748,7 +23675,7 @@ function onlyChild(children) { module.exports = onlyChild; }).call(this,require('_process')) -},{"./ReactElement":115,"_process":1,"fbjs/lib/invariant":220}],195:[function(require,module,exports){ +},{"./ReactElement":113,"_process":23,"fbjs/lib/invariant":218}],193:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23775,7 +23702,7 @@ function quoteAttributeValueForBrowser(value) { } module.exports = quoteAttributeValueForBrowser; -},{"./escapeTextContentForBrowser":180}],196:[function(require,module,exports){ +},{"./escapeTextContentForBrowser":178}],194:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23792,7 +23719,7 @@ module.exports = quoteAttributeValueForBrowser; var ReactMount = require('./ReactMount'); module.exports = ReactMount.renderSubtreeIntoContainer; -},{"./ReactMount":130}],197:[function(require,module,exports){ +},{"./ReactMount":128}],195:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23883,7 +23810,7 @@ if (ExecutionEnvironment.canUseDOM) { } module.exports = setInnerHTML; -},{"fbjs/lib/ExecutionEnvironment":206}],198:[function(require,module,exports){ +},{"fbjs/lib/ExecutionEnvironment":204}],196:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23924,7 +23851,7 @@ if (ExecutionEnvironment.canUseDOM) { } module.exports = setTextContent; -},{"./escapeTextContentForBrowser":180,"./setInnerHTML":197,"fbjs/lib/ExecutionEnvironment":206}],199:[function(require,module,exports){ +},{"./escapeTextContentForBrowser":178,"./setInnerHTML":195,"fbjs/lib/ExecutionEnvironment":204}],197:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23949,7 +23876,7 @@ function shallowCompare(instance, nextProps, nextState) { } module.exports = shallowCompare; -},{"fbjs/lib/shallowEqual":230}],200:[function(require,module,exports){ +},{"fbjs/lib/shallowEqual":228}],198:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -23993,7 +23920,7 @@ function shouldUpdateReactComponent(prevElement, nextElement) { } module.exports = shouldUpdateReactComponent; -},{}],201:[function(require,module,exports){ +},{}],199:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -24186,7 +24113,7 @@ function traverseAllChildren(children, callback, traverseContext) { module.exports = traverseAllChildren; }).call(this,require('_process')) -},{"./ReactCurrentOwner":97,"./ReactElement":115,"./ReactInstanceHandles":125,"./getIteratorFn":188,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/warning":232}],202:[function(require,module,exports){ +},{"./ReactCurrentOwner":95,"./ReactElement":113,"./ReactInstanceHandles":123,"./getIteratorFn":186,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/warning":230}],200:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -24297,7 +24224,7 @@ function update(value, spec) { module.exports = update; }).call(this,require('_process')) -},{"./Object.assign":82,"_process":1,"fbjs/lib/invariant":220,"fbjs/lib/keyOf":225}],203:[function(require,module,exports){ +},{"./Object.assign":80,"_process":23,"fbjs/lib/invariant":218,"fbjs/lib/keyOf":223}],201:[function(require,module,exports){ (function (process){ /** * Copyright 2015, Facebook, Inc. @@ -24664,7 +24591,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = validateDOMNesting; }).call(this,require('_process')) -},{"./Object.assign":82,"_process":1,"fbjs/lib/emptyFunction":212,"fbjs/lib/warning":232}],204:[function(require,module,exports){ +},{"./Object.assign":80,"_process":23,"fbjs/lib/emptyFunction":210,"fbjs/lib/warning":230}],202:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -24765,7 +24692,7 @@ var CSSCore = { module.exports = CSSCore; }).call(this,require('_process')) -},{"./invariant":220,"_process":1}],205:[function(require,module,exports){ +},{"./invariant":218,"_process":23}],203:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -24853,7 +24780,7 @@ var EventListener = { module.exports = EventListener; }).call(this,require('_process')) -},{"./emptyFunction":212,"_process":1}],206:[function(require,module,exports){ +},{"./emptyFunction":210,"_process":23}],204:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -24890,7 +24817,7 @@ var ExecutionEnvironment = { }; module.exports = ExecutionEnvironment; -},{}],207:[function(require,module,exports){ +},{}],205:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -24923,7 +24850,7 @@ function camelize(string) { } module.exports = camelize; -},{}],208:[function(require,module,exports){ +},{}],206:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -24964,7 +24891,7 @@ function camelizeStyleName(string) { } module.exports = camelizeStyleName; -},{"./camelize":207}],209:[function(require,module,exports){ +},{"./camelize":205}],207:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25020,7 +24947,7 @@ function containsNode(_x, _x2) { } module.exports = containsNode; -},{"./isTextNode":222}],210:[function(require,module,exports){ +},{"./isTextNode":220}],208:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25106,7 +25033,7 @@ function createArrayFromMixed(obj) { } module.exports = createArrayFromMixed; -},{"./toArray":231}],211:[function(require,module,exports){ +},{"./toArray":229}],209:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -25194,7 +25121,7 @@ function createNodesFromMarkup(markup, handleScript) { module.exports = createNodesFromMarkup; }).call(this,require('_process')) -},{"./ExecutionEnvironment":206,"./createArrayFromMixed":210,"./getMarkupWrap":216,"./invariant":220,"_process":1}],212:[function(require,module,exports){ +},{"./ExecutionEnvironment":204,"./createArrayFromMixed":208,"./getMarkupWrap":214,"./invariant":218,"_process":23}],210:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25233,7 +25160,7 @@ emptyFunction.thatReturnsArgument = function (arg) { }; module.exports = emptyFunction; -},{}],213:[function(require,module,exports){ +},{}],211:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -25257,7 +25184,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = emptyObject; }).call(this,require('_process')) -},{"_process":1}],214:[function(require,module,exports){ +},{"_process":23}],212:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25284,7 +25211,7 @@ function focusNode(node) { } module.exports = focusNode; -},{}],215:[function(require,module,exports){ +},{}],213:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25320,7 +25247,7 @@ function getActiveElement() /*?DOMElement*/{ } module.exports = getActiveElement; -},{}],216:[function(require,module,exports){ +},{}],214:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -25419,7 +25346,7 @@ function getMarkupWrap(nodeName) { module.exports = getMarkupWrap; }).call(this,require('_process')) -},{"./ExecutionEnvironment":206,"./invariant":220,"_process":1}],217:[function(require,module,exports){ +},{"./ExecutionEnvironment":204,"./invariant":218,"_process":23}],215:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25458,7 +25385,7 @@ function getUnboundedScrollPosition(scrollable) { } module.exports = getUnboundedScrollPosition; -},{}],218:[function(require,module,exports){ +},{}],216:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25492,7 +25419,7 @@ function hyphenate(string) { } module.exports = hyphenate; -},{}],219:[function(require,module,exports){ +},{}],217:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25532,7 +25459,7 @@ function hyphenateStyleName(string) { } module.exports = hyphenateStyleName; -},{"./hyphenate":218}],220:[function(require,module,exports){ +},{"./hyphenate":216}],218:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -25586,7 +25513,7 @@ function invariant(condition, format, a, b, c, d, e, f) { module.exports = invariant; }).call(this,require('_process')) -},{"_process":1}],221:[function(require,module,exports){ +},{"_process":23}],219:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25610,7 +25537,7 @@ function isNode(object) { } module.exports = isNode; -},{}],222:[function(require,module,exports){ +},{}],220:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25636,7 +25563,7 @@ function isTextNode(object) { } module.exports = isTextNode; -},{"./isNode":221}],223:[function(require,module,exports){ +},{"./isNode":219}],221:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25676,7 +25603,7 @@ function joinClasses(className /*, ... */) { } module.exports = joinClasses; -},{}],224:[function(require,module,exports){ +},{}],222:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -25728,7 +25655,7 @@ var keyMirror = function (obj) { module.exports = keyMirror; }).call(this,require('_process')) -},{"./invariant":220,"_process":1}],225:[function(require,module,exports){ +},{"./invariant":218,"_process":23}],223:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25764,7 +25691,7 @@ var keyOf = function (oneKeyObj) { }; module.exports = keyOf; -},{}],226:[function(require,module,exports){ +},{}],224:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25816,7 +25743,7 @@ function mapObject(object, callback, context) { } module.exports = mapObject; -},{}],227:[function(require,module,exports){ +},{}],225:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25848,7 +25775,7 @@ function memoizeStringOnly(callback) { } module.exports = memoizeStringOnly; -},{}],228:[function(require,module,exports){ +},{}],226:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25872,7 +25799,7 @@ if (ExecutionEnvironment.canUseDOM) { } module.exports = performance || {}; -},{"./ExecutionEnvironment":206}],229:[function(require,module,exports){ +},{"./ExecutionEnvironment":204}],227:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25907,7 +25834,7 @@ if (performance.now) { } module.exports = performanceNow; -},{"./performance":228}],230:[function(require,module,exports){ +},{"./performance":226}],228:[function(require,module,exports){ /** * Copyright 2013-2015, Facebook, Inc. * All rights reserved. @@ -25958,7 +25885,7 @@ function shallowEqual(objA, objB) { } module.exports = shallowEqual; -},{}],231:[function(require,module,exports){ +},{}],229:[function(require,module,exports){ (function (process){ /** * Copyright 2013-2015, Facebook, Inc. @@ -26019,7 +25946,7 @@ function toArray(obj) { module.exports = toArray; }).call(this,require('_process')) -},{"./invariant":220,"_process":1}],232:[function(require,module,exports){ +},{"./invariant":218,"_process":23}],230:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -26080,7 +26007,80 @@ if (process.env.NODE_ENV !== 'production') { module.exports = warning; }).call(this,require('_process')) -},{"./emptyFunction":212,"_process":1}],"flux":[function(require,module,exports){ +},{"./emptyFunction":210,"_process":23}],231:[function(require,module,exports){ +'use strict'; +module.exports = function (str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase(); + }); +}; + +},{}],232:[function(require,module,exports){ +(function (process){ +/** + * Copyright 2014-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'; + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var warning = function() {}; + +if (process.env.NODE_ENV !== 'production') { + warning = function(condition, format, args) { + var len = arguments.length; + args = new Array(len > 2 ? len - 2 : 0); + for (var 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.length < 10 || (/^[s\W]*$/).test(format)) { + throw new Error( + 'The warning format should be able to uniquely identify this ' + + 'warning. Please, use a more descriptive format than: ' + format + ); + } + + if (!condition) { + var argIndex = 0; + var message = 'Warning: ' + + format.replace(/%s/g, function() { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // 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; + +}).call(this,require('_process')) + +},{"_process":23}],"flux":[function(require,module,exports){ /** * Copyright (c) 2014-2015, Facebook, Inc. * All rights reserved. @@ -26092,7 +26092,7 @@ module.exports = warning; module.exports.Dispatcher = require('./lib/Dispatcher'); -},{"./lib/Dispatcher":2}],"jquery":[function(require,module,exports){ +},{"./lib/Dispatcher":5}],"jquery":[function(require,module,exports){ /*! * jQuery JavaScript Library v2.2.1 * http://jquery.com/ @@ -50868,7 +50868,7 @@ return jQuery; module.exports = require('react/lib/ReactDOM'); -},{"react/lib/ReactDOM":98}],"react-router":[function(require,module,exports){ +},{"react/lib/ReactDOM":96}],"react-router":[function(require,module,exports){ /* components */ 'use strict'; @@ -51005,7 +51005,7 @@ var _createMemoryHistory2 = require('./createMemoryHistory'); var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2); exports.createMemoryHistory = _createMemoryHistory3['default']; -},{"./History":5,"./IndexLink":6,"./IndexRedirect":7,"./IndexRoute":8,"./Lifecycle":9,"./Link":10,"./PatternUtils":11,"./PropTypes":12,"./Redirect":13,"./Route":14,"./RouteContext":15,"./RouteUtils":16,"./Router":17,"./RouterContext":18,"./RoutingContext":20,"./browserHistory":22,"./createMemoryHistory":24,"./hashHistory":30,"./match":32,"./useRouterHistory":35,"./useRoutes":36}],"react/addons":[function(require,module,exports){ +},{"./History":26,"./IndexLink":27,"./IndexRedirect":28,"./IndexRoute":29,"./Lifecycle":30,"./Link":31,"./PatternUtils":32,"./PropTypes":33,"./Redirect":34,"./Route":35,"./RouteContext":36,"./RouteUtils":37,"./Router":38,"./RouterContext":39,"./RoutingContext":41,"./browserHistory":43,"./createMemoryHistory":45,"./hashHistory":51,"./match":53,"./useRouterHistory":56,"./useRoutes":57}],"react/addons":[function(require,module,exports){ 'use strict'; var warning = require('fbjs/lib/warning'); @@ -51020,12 +51020,12 @@ warning( module.exports = require('./lib/ReactWithAddons'); -},{"./lib/ReactWithAddons":156,"fbjs/lib/warning":232}],"react":[function(require,module,exports){ +},{"./lib/ReactWithAddons":154,"fbjs/lib/warning":230}],"react":[function(require,module,exports){ 'use strict'; module.exports = require('./lib/React'); -},{"./lib/React":84}]},{},[]) +},{"./lib/React":82}]},{},[]) //# sourceMappingURL=vendor.js.map diff --git a/web/src/js/components/flowtable.js b/web/src/js/components/flowtable.js index 1d99c318..988d1895 100644 --- a/web/src/js/components/flowtable.js +++ b/web/src/js/components/flowtable.js @@ -143,7 +143,7 @@ var FlowTable = React.createClass({ }, scrollIntoView: function (flow) { this.scrollRowIntoView( - this.context.view.index(flow), + this.context.view.indexOf(flow), ReactDOM.findDOMNode(this.refs.body).offsetTop ); }, diff --git a/web/src/js/store/view.js b/web/src/js/store/view.js index 3ec337a1..d8aeba60 100644 --- a/web/src/js/store/view.js +++ b/web/src/js/store/view.js @@ -59,12 +59,12 @@ _.extend(StoreView.prototype, EventEmitter.prototype, { }); this.emit("recalculate"); }, - index: function (elem) { - return _.sortedIndexBy(this.list, elem, this.sortfun); + indexOf: function (elem) { + return this.list.indexOf(elem, _.sortedIndexBy(this.list, elem, this.sortfun)); }, add: function (elem) { if (this.filt(elem)) { - var idx = this.index(elem); + var idx = _.sortedIndexBy(this.list, elem, this.sortfun); if (idx === this.list.length) { //happens often, .push is way faster. this.list.push(elem); } else { |