diff --git a/build/Griddle.js b/build/Griddle.js index 178ac536..cbe5825d 100644 --- a/build/Griddle.js +++ b/build/Griddle.js @@ -82,38 +82,38 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(2); var GridTable = __webpack_require__(3); - var GridFilter = __webpack_require__(171); - var GridPagination = __webpack_require__(172); - var GridSettings = __webpack_require__(173); - var GridNoData = __webpack_require__(179); - var GridRow = __webpack_require__(180); - var GridRowContainer = __webpack_require__(162); - var CustomRowComponentContainer = __webpack_require__(200); - var CustomPaginationContainer = __webpack_require__(201); - var CustomFilterContainer = __webpack_require__(202); + var GridFilter = __webpack_require__(156); + var GridPagination = __webpack_require__(157); + var GridSettings = __webpack_require__(158); + var GridNoData = __webpack_require__(163); + var GridRow = __webpack_require__(164); + var GridRowContainer = __webpack_require__(150); + var CustomRowComponentContainer = __webpack_require__(183); + var CustomPaginationContainer = __webpack_require__(184); + var CustomFilterContainer = __webpack_require__(185); var ColumnProperties = __webpack_require__(5); - var RowProperties = __webpack_require__(169); - var deep = __webpack_require__(181); - - var drop = __webpack_require__(203); - var dropRight = __webpack_require__(205); - var find = __webpack_require__(125); - var first = __webpack_require__(206); - var forEach = __webpack_require__(182); - var initial = __webpack_require__(207); - var intersection = __webpack_require__(208); - var isArray = __webpack_require__(74); - var isEmpty = __webpack_require__(211); - var isNull = __webpack_require__(212); - var isUndefined = __webpack_require__(213); - var omit = __webpack_require__(214); + var RowProperties = __webpack_require__(154); + var deep = __webpack_require__(165); + + var drop = __webpack_require__(186); + var dropRight = __webpack_require__(188); + var find = __webpack_require__(121); + var first = __webpack_require__(189); + var forEach = __webpack_require__(166); + var initial = __webpack_require__(190); + var intersection = __webpack_require__(191); + var isArray = __webpack_require__(73); + var isEmpty = __webpack_require__(194); + var isNull = __webpack_require__(197); + var isUndefined = __webpack_require__(198); + var omit = __webpack_require__(199); var map = __webpack_require__(6); - var extend = __webpack_require__(157); - var _filter = __webpack_require__(122); + var extend = __webpack_require__(146); + var _filter = __webpack_require__(118); - var _orderBy = __webpack_require__(245); - var _property = __webpack_require__(113); - var _get = __webpack_require__(98); + var _orderBy = __webpack_require__(205); + var _property = __webpack_require__(109); + var _get = __webpack_require__(95); var Griddle = React.createClass({ displayName: 'Griddle', @@ -193,6 +193,10 @@ return /******/ (function(modules) { // webpackBootstrap "isSubGriddle": false, "enableSort": true, "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null, /* css class names */ "sortAscendingClassName": "sort-ascending", "sortDescendingClassName": "sort-descending", @@ -913,7 +917,11 @@ return /******/ (function(modules) { // webpackBootstrap externalLoadingComponent: this.props.externalLoadingComponent, externalIsLoading: this.props.externalIsLoading, hasMorePages: hasMorePages, - onRowClick: this.props.onRowClick })); + onRowClick: this.props.onRowClick, + onRowMouseEnter: this.props.onRowMouseEnter, + onRowMouseLeave: this.props.onRowMouseLeave, + onRowWillMount: this.props.onRowWillMount, + onRowWillUnmount: this.props.onRowWillUnmount })); }, getContentSection: function getContentSection(data, cols, meta, pagingContent, hasMorePages, globalData) { if (this.shouldUseCustomGridComponent() && this.props.customGridComponent !== null) { @@ -1013,9 +1021,9 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(2); var GridTitle = __webpack_require__(4); - var GridRowContainer = __webpack_require__(162); + var GridRowContainer = __webpack_require__(150); var ColumnProperties = __webpack_require__(5); - var RowProperties = __webpack_require__(169); + var RowProperties = __webpack_require__(154); var GridTable = React.createClass({ displayName: 'GridTable', @@ -1047,7 +1055,11 @@ return /******/ (function(modules) { // webpackBootstrap "parentRowExpandedComponent": "▼", "externalLoadingComponent": null, "externalIsLoading": false, - "onRowClick": null + "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null }; }, getInitialState: function getInitialState() { @@ -1167,7 +1179,11 @@ return /******/ (function(modules) { // webpackBootstrap rowHeight: that.props.rowHeight, hasChildren: hasChildren, tableClassName: that.props.className, - onRowClick: that.props.onRowClick + onRowClick: that.props.onRowClick, + onRowMouseEnter: that.props.onRowMouseEnter, + onRowMouseLeave: that.props.onRowMouseLeave, + onRowWillMount: that.props.onRowWillMount, + onRowWillUnmount: that.props.onRowWillUnmount }); }); @@ -1308,7 +1324,7 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(2); var ColumnProperties = __webpack_require__(5); - var assign = __webpack_require__(157); + var assign = __webpack_require__(146); var DefaultHeaderComponent = React.createClass({ displayName: 'DefaultHeaderComponent', @@ -1433,10 +1449,10 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } var map = __webpack_require__(6); - var filter = __webpack_require__(122); - var find = __webpack_require__(125); - var sortBy = __webpack_require__(132); - var difference = __webpack_require__(149); + var filter = __webpack_require__(118); + var find = __webpack_require__(121); + var sortBy = __webpack_require__(128); + var difference = __webpack_require__(139); var ColumnProperties = (function () { function ColumnProperties() { @@ -1536,8 +1552,8 @@ return /******/ (function(modules) { // webpackBootstrap var arrayMap = __webpack_require__(7), baseIteratee = __webpack_require__(8), - baseMap = __webpack_require__(116), - isArray = __webpack_require__(74); + baseMap = __webpack_require__(112), + isArray = __webpack_require__(73); /** * Creates an array of values by running each element in `collection` thru @@ -1604,7 +1620,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function arrayMap(array, iteratee) { var index = -1, - length = array == null ? 0 : array.length, + length = array ? array.length : 0, result = Array(length); while (++index < length) { @@ -1621,10 +1637,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var baseMatches = __webpack_require__(9), - baseMatchesProperty = __webpack_require__(97), - identity = __webpack_require__(112), - isArray = __webpack_require__(74), - property = __webpack_require__(113); + baseMatchesProperty = __webpack_require__(94), + identity = __webpack_require__(108), + isArray = __webpack_require__(73), + property = __webpack_require__(109); /** * The base implementation of `_.iteratee`. @@ -1658,8 +1674,8 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var baseIsMatch = __webpack_require__(10), - getMatchData = __webpack_require__(94), - matchesStrictComparable = __webpack_require__(96); + getMatchData = __webpack_require__(91), + matchesStrictComparable = __webpack_require__(93); /** * The base implementation of `_.matches` which doesn't clone `source`. @@ -1686,11 +1702,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var Stack = __webpack_require__(11), - baseIsEqual = __webpack_require__(55); + baseIsEqual = __webpack_require__(52); - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; + /** Used to compose bitmasks for comparison styles. */ + var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; /** * The base implementation of `_.isMatch` without support for iteratee shorthands. @@ -1736,7 +1752,7 @@ return /******/ (function(modules) { // webpackBootstrap var result = customizer(objValue, srcValue, key, object, source, stack); } if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) : result )) { return false; @@ -1768,8 +1784,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Array} [entries] The key-value pairs to cache. */ function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; + this.__data__ = new ListCache(entries); } // Add methods to `Stack`. @@ -1801,7 +1816,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function ListCache(entries) { var index = -1, - length = entries == null ? 0 : entries.length; + length = entries ? entries.length : 0; this.clear(); while (++index < length) { @@ -1833,7 +1848,6 @@ return /******/ (function(modules) { // webpackBootstrap */ function listCacheClear() { this.__data__ = []; - this.size = 0; } module.exports = listCacheClear; @@ -1873,7 +1887,6 @@ return /******/ (function(modules) { // webpackBootstrap } else { splice.call(data, index, 1); } - --this.size; return true; } @@ -1890,7 +1903,7 @@ return /******/ (function(modules) { // webpackBootstrap * Gets the index at which the `key` is found in `array` of key-value pairs. * * @private - * @param {Array} array The array to inspect. + * @param {Array} array The array to search. * @param {*} key The key to search for. * @returns {number} Returns the index of the matched value, else `-1`. */ @@ -2018,7 +2031,6 @@ return /******/ (function(modules) { // webpackBootstrap index = assocIndexOf(data, key); if (index < 0) { - ++this.size; data.push([key, value]); } else { data[index][1] = value; @@ -2044,7 +2056,6 @@ return /******/ (function(modules) { // webpackBootstrap */ function stackClear() { this.__data__ = new ListCache; - this.size = 0; } module.exports = stackClear; @@ -2064,11 +2075,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; + return this.__data__['delete'](key); } module.exports = stackDelete; @@ -2120,7 +2127,7 @@ return /******/ (function(modules) { // webpackBootstrap var ListCache = __webpack_require__(12), Map = __webpack_require__(25), - MapCache = __webpack_require__(40); + MapCache = __webpack_require__(37); /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -2136,18 +2143,16 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Object} Returns the stack cache instance. */ function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; + var cache = this.__data__; + if (cache instanceof ListCache) { + var pairs = cache.__data__; if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { pairs.push([key, value]); - this.size = ++data.size; return this; } - data = this.__data__ = new MapCache(pairs); + cache = this.__data__ = new MapCache(pairs); } - data.set(key, value); - this.size = data.size; + cache.set(key, value); return this; } @@ -2159,7 +2164,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(26), - root = __webpack_require__(31); + root = __webpack_require__(33); /* Built-in method references that are verified to be native. */ var Map = getNative(root, 'Map'); @@ -2172,7 +2177,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var baseIsNative = __webpack_require__(27), - getValue = __webpack_require__(39); + getValue = __webpack_require__(36); /** * Gets the native function at `key` of `object`. @@ -2195,9 +2200,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var isFunction = __webpack_require__(28), - isMasked = __webpack_require__(36), - isObject = __webpack_require__(35), - toSource = __webpack_require__(38); + isHostObject = __webpack_require__(30), + isMasked = __webpack_require__(31), + isObject = __webpack_require__(29), + toSource = __webpack_require__(35); /** * Used to match `RegExp` @@ -2209,11 +2215,10 @@ return /******/ (function(modules) { // webpackBootstrap var reIsHostCtor = /^\[object .+?Constructor\]$/; /** Used for built-in method references. */ - var funcProto = Function.prototype, - objectProto = Object.prototype; + var objectProto = Object.prototype; /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; + var funcToString = Function.prototype.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; @@ -2236,7 +2241,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!isObject(value) || isMasked(value)) { return false; } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } @@ -2247,14 +2252,21 @@ return /******/ (function(modules) { // webpackBootstrap /* 28 */ /***/ function(module, exports, __webpack_require__) { - var baseGetTag = __webpack_require__(29), - isObject = __webpack_require__(35); + var isObject = __webpack_require__(29); /** `Object#toString` result references. */ - var asyncTag = '[object AsyncFunction]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - proxyTag = '[object Proxy]'; + var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]'; + + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; /** * Checks if `value` is classified as a `Function` object. @@ -2274,13 +2286,11 @@ return /******/ (function(modules) { // webpackBootstrap * // => false */ function isFunction(value) { - if (!isObject(value)) { - return false; - } // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + // in Safari 8 which returns 'object' for typed array and weak map constructors, + // and PhantomJS 1.9 which returns 'function' for `NodeList` instances. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; } module.exports = isFunction; @@ -2288,159 +2298,6 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 29 */ -/***/ function(module, exports, __webpack_require__) { - - var Symbol = __webpack_require__(30), - getRawTag = __webpack_require__(33), - objectToString = __webpack_require__(34); - - /** `Object#toString` result references. */ - var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; - - /** Built-in value references. */ - var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - value = Object(value); - return (symToStringTag && symToStringTag in value) - ? getRawTag(value) - : objectToString(value); - } - - module.exports = baseGetTag; - - -/***/ }, -/* 30 */ -/***/ function(module, exports, __webpack_require__) { - - var root = __webpack_require__(31); - - /** Built-in value references. */ - var Symbol = root.Symbol; - - module.exports = Symbol; - - -/***/ }, -/* 31 */ -/***/ function(module, exports, __webpack_require__) { - - var freeGlobal = __webpack_require__(32); - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - module.exports = root; - - -/***/ }, -/* 32 */ -/***/ function(module, exports) { - - /* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - module.exports = freeGlobal; - - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) - -/***/ }, -/* 33 */ -/***/ function(module, exports, __webpack_require__) { - - var Symbol = __webpack_require__(30); - - /** Used for built-in method references. */ - var objectProto = Object.prototype; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Built-in value references. */ - var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - - /** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; - } - - module.exports = getRawTag; - - -/***/ }, -/* 34 */ -/***/ function(module, exports) { - - /** Used for built-in method references. */ - var objectProto = Object.prototype; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - module.exports = objectToString; - - -/***/ }, -/* 35 */ /***/ function(module, exports) { /** @@ -2470,17 +2327,43 @@ return /******/ (function(modules) { // webpackBootstrap */ function isObject(value) { var type = typeof value; - return value != null && (type == 'object' || type == 'function'); + return !!value && (type == 'object' || type == 'function'); } module.exports = isObject; /***/ }, -/* 36 */ +/* 30 */ +/***/ function(module, exports) { + + /** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ + function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; + } + + module.exports = isHostObject; + + +/***/ }, +/* 31 */ /***/ function(module, exports, __webpack_require__) { - var coreJsData = __webpack_require__(37); + var coreJsData = __webpack_require__(32); /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { @@ -2503,10 +2386,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 37 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { - var root = __webpack_require__(31); + var root = __webpack_require__(33); /** Used to detect overreaching core-js shims. */ var coreJsData = root['__core-js_shared__']; @@ -2515,20 +2398,43 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 38 */ +/* 33 */ +/***/ function(module, exports, __webpack_require__) { + + var freeGlobal = __webpack_require__(34); + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + module.exports = root; + + +/***/ }, +/* 34 */ /***/ function(module, exports) { - /** Used for built-in method references. */ - var funcProto = Function.prototype; + /* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + module.exports = freeGlobal; + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 35 */ +/***/ function(module, exports) { /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; + var funcToString = Function.prototype.toString; /** * Converts `func` to its source code. * * @private - * @param {Function} func The function to convert. + * @param {Function} func The function to process. * @returns {string} Returns the source code. */ function toSource(func) { @@ -2547,7 +2453,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 39 */ +/* 36 */ /***/ function(module, exports) { /** @@ -2566,14 +2472,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 40 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { - var mapCacheClear = __webpack_require__(41), - mapCacheDelete = __webpack_require__(49), - mapCacheGet = __webpack_require__(52), - mapCacheHas = __webpack_require__(53), - mapCacheSet = __webpack_require__(54); + var mapCacheClear = __webpack_require__(38), + mapCacheDelete = __webpack_require__(46), + mapCacheGet = __webpack_require__(49), + mapCacheHas = __webpack_require__(50), + mapCacheSet = __webpack_require__(51); /** * Creates a map cache object to store key-value pairs. @@ -2584,7 +2490,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function MapCache(entries) { var index = -1, - length = entries == null ? 0 : entries.length; + length = entries ? entries.length : 0; this.clear(); while (++index < length) { @@ -2604,10 +2510,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 41 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { - var Hash = __webpack_require__(42), + var Hash = __webpack_require__(39), ListCache = __webpack_require__(12), Map = __webpack_require__(25); @@ -2619,7 +2525,6 @@ return /******/ (function(modules) { // webpackBootstrap * @memberOf MapCache */ function mapCacheClear() { - this.size = 0; this.__data__ = { 'hash': new Hash, 'map': new (Map || ListCache), @@ -2631,14 +2536,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 42 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { - var hashClear = __webpack_require__(43), - hashDelete = __webpack_require__(45), - hashGet = __webpack_require__(46), - hashHas = __webpack_require__(47), - hashSet = __webpack_require__(48); + var hashClear = __webpack_require__(40), + hashDelete = __webpack_require__(42), + hashGet = __webpack_require__(43), + hashHas = __webpack_require__(44), + hashSet = __webpack_require__(45); /** * Creates a hash object. @@ -2649,7 +2554,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function Hash(entries) { var index = -1, - length = entries == null ? 0 : entries.length; + length = entries ? entries.length : 0; this.clear(); while (++index < length) { @@ -2669,10 +2574,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 43 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { - var nativeCreate = __webpack_require__(44); + var nativeCreate = __webpack_require__(41); /** * Removes all key-value entries from the hash. @@ -2683,14 +2588,13 @@ return /******/ (function(modules) { // webpackBootstrap */ function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; } module.exports = hashClear; /***/ }, -/* 44 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(26); @@ -2702,7 +2606,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 45 */ +/* 42 */ /***/ function(module, exports) { /** @@ -2716,19 +2620,17 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; + return this.has(key) && delete this.__data__[key]; } module.exports = hashDelete; /***/ }, -/* 46 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { - var nativeCreate = __webpack_require__(44); + var nativeCreate = __webpack_require__(41); /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -2761,10 +2663,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 47 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { - var nativeCreate = __webpack_require__(44); + var nativeCreate = __webpack_require__(41); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -2790,10 +2692,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 48 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { - var nativeCreate = __webpack_require__(44); + var nativeCreate = __webpack_require__(41); /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -2810,7 +2712,6 @@ return /******/ (function(modules) { // webpackBootstrap */ function hashSet(key, value) { var data = this.__data__; - this.size += this.has(key) ? 0 : 1; data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; return this; } @@ -2819,10 +2720,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 49 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { - var getMapData = __webpack_require__(50); + var getMapData = __webpack_require__(47); /** * Removes `key` and its value from the map. @@ -2834,19 +2735,17 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {boolean} Returns `true` if the entry was removed, else `false`. */ function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; + return getMapData(this, key)['delete'](key); } module.exports = mapCacheDelete; /***/ }, -/* 50 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { - var isKeyable = __webpack_require__(51); + var isKeyable = __webpack_require__(48); /** * Gets the data for `map`. @@ -2867,7 +2766,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 51 */ +/* 48 */ /***/ function(module, exports) { /** @@ -2888,10 +2787,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 52 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { - var getMapData = __webpack_require__(50); + var getMapData = __webpack_require__(47); /** * Gets the map value for `key`. @@ -2910,10 +2809,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 53 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { - var getMapData = __webpack_require__(50); + var getMapData = __webpack_require__(47); /** * Checks if a map value for `key` exists. @@ -2932,10 +2831,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 54 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { - var getMapData = __webpack_require__(50); + var getMapData = __webpack_require__(47); /** * Sets the map `key` to `value`. @@ -2948,11 +2847,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Object} Returns the map cache instance. */ function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; + getMapData(this, key).set(key, value); return this; } @@ -2960,12 +2855,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 55 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqualDeep = __webpack_require__(56), - isObject = __webpack_require__(35), - isObjectLike = __webpack_require__(73); + var baseIsEqualDeep = __webpack_require__(53), + isObject = __webpack_require__(29), + isObjectLike = __webpack_require__(72); /** * The base implementation of `_.isEqual` which supports partial comparisons @@ -2974,41 +2869,42 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @param {*} value The value to compare. * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison * @param {Function} [customizer] The function to customize comparisons. + * @param {boolean} [bitmask] The bitmask of comparison flags. + * The bitmask may be composed of the following flags: + * 1 - Unordered comparison + * 2 - Partial comparison * @param {Object} [stack] Tracks traversed `value` and `other` objects. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. */ - function baseIsEqual(value, other, bitmask, customizer, stack) { + function baseIsEqual(value, other, customizer, bitmask, stack) { if (value === other) { return true; } if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { return value !== value && other !== other; } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack); } module.exports = baseIsEqual; /***/ }, -/* 56 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { var Stack = __webpack_require__(11), - equalArrays = __webpack_require__(57), - equalByTag = __webpack_require__(63), - equalObjects = __webpack_require__(67), - getTag = __webpack_require__(89), - isArray = __webpack_require__(74), - isBuffer = __webpack_require__(75), - isTypedArray = __webpack_require__(79); + equalArrays = __webpack_require__(54), + equalByTag = __webpack_require__(59), + equalObjects = __webpack_require__(64), + getTag = __webpack_require__(80), + isArray = __webpack_require__(73), + isHostObject = __webpack_require__(30), + isTypedArray = __webpack_require__(86); - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1; + /** Used to compose bitmasks for comparison styles. */ + var PARTIAL_COMPARE_FLAG = 2; /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -3029,13 +2925,14 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparisons. + * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual` + * for more details. * @param {Object} [stack] Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = arrayTag, @@ -3049,24 +2946,17 @@ return /******/ (function(modules) { // webpackBootstrap othTag = getTag(other); othTag = othTag == argsTag ? objectTag : othTag; } - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, + var objIsObj = objTag == objectTag && !isHostObject(object), + othIsObj = othTag == objectTag && !isHostObject(other), isSameTag = objTag == othTag; - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } if (isSameTag && !objIsObj) { stack || (stack = new Stack); return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) + : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack); } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + if (!(bitmask & PARTIAL_COMPARE_FLAG)) { var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); @@ -3075,30 +2965,29 @@ return /******/ (function(modules) { // webpackBootstrap othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack); } } if (!isSameTag) { return false; } stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + return equalObjects(object, other, equalFunc, customizer, bitmask, stack); } module.exports = baseIsEqualDeep; /***/ }, -/* 57 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { - var SetCache = __webpack_require__(58), - arraySome = __webpack_require__(61), - cacheHas = __webpack_require__(62); + var SetCache = __webpack_require__(55), + arraySome = __webpack_require__(58); - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; + /** Used to compose bitmasks for comparison styles. */ + var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; /** * A specialized version of `baseIsEqualDeep` for arrays with support for @@ -3107,14 +2996,15 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @param {Array} array The array to compare. * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. * @param {Object} stack Tracks traversed `array` and `other` objects. * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + function equalArrays(array, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, arrLength = array.length, othLength = other.length; @@ -3128,7 +3018,7 @@ return /******/ (function(modules) { // webpackBootstrap } var index = -1, result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined; stack.set(array, other); stack.set(other, array); @@ -3153,9 +3043,9 @@ return /******/ (function(modules) { // webpackBootstrap // Recursively compare arrays (susceptible to call stack limits). if (seen) { if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); + if (!seen.has(othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) { + return seen.add(othIndex); } })) { result = false; @@ -3163,7 +3053,7 @@ return /******/ (function(modules) { // webpackBootstrap } } else if (!( arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) + equalFunc(arrValue, othValue, customizer, bitmask, stack) )) { result = false; break; @@ -3178,12 +3068,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 58 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { - var MapCache = __webpack_require__(40), - setCacheAdd = __webpack_require__(59), - setCacheHas = __webpack_require__(60); + var MapCache = __webpack_require__(37), + setCacheAdd = __webpack_require__(56), + setCacheHas = __webpack_require__(57); /** * @@ -3195,7 +3085,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function SetCache(values) { var index = -1, - length = values == null ? 0 : values.length; + length = values ? values.length : 0; this.__data__ = new MapCache; while (++index < length) { @@ -3211,7 +3101,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 59 */ +/* 56 */ /***/ function(module, exports) { /** Used to stand-in for `undefined` hash values. */ @@ -3236,7 +3126,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 60 */ +/* 57 */ /***/ function(module, exports) { /** @@ -3256,7 +3146,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 61 */ +/* 58 */ /***/ function(module, exports) { /** @@ -3271,7 +3161,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function arraySome(array, predicate) { var index = -1, - length = array == null ? 0 : array.length; + length = array ? array.length : 0; while (++index < length) { if (predicate(array[index], index, array)) { @@ -3285,38 +3175,19 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 62 */ -/***/ function(module, exports) { +/* 59 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { - return cache.has(key); - } + var Symbol = __webpack_require__(60), + Uint8Array = __webpack_require__(61), + eq = __webpack_require__(16), + equalArrays = __webpack_require__(54), + mapToArray = __webpack_require__(62), + setToArray = __webpack_require__(63); - module.exports = cacheHas; - - -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { - - var Symbol = __webpack_require__(30), - Uint8Array = __webpack_require__(64), - eq = __webpack_require__(16), - equalArrays = __webpack_require__(57), - mapToArray = __webpack_require__(65), - setToArray = __webpack_require__(66); - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; + /** Used to compose bitmasks for comparison styles. */ + var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; /** `Object#toString` result references. */ var boolTag = '[object Boolean]', @@ -3347,13 +3218,14 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Object} object The object to compare. * @param {Object} other The other object to compare. * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) { switch (tag) { case dataViewTag: if ((object.byteLength != other.byteLength) || @@ -3391,7 +3263,7 @@ return /******/ (function(modules) { // webpackBootstrap var convert = mapToArray; case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + var isPartial = bitmask & PARTIAL_COMPARE_FLAG; convert || (convert = setToArray); if (object.size != other.size && !isPartial) { @@ -3402,11 +3274,11 @@ return /******/ (function(modules) { // webpackBootstrap if (stacked) { return stacked == other; } - bitmask |= COMPARE_UNORDERED_FLAG; + bitmask |= UNORDERED_COMPARE_FLAG; // Recursively compare objects (susceptible to call stack limits). stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack); stack['delete'](object); return result; @@ -3422,10 +3294,22 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 64 */ +/* 60 */ +/***/ function(module, exports, __webpack_require__) { + + var root = __webpack_require__(33); + + /** Built-in value references. */ + var Symbol = root.Symbol; + + module.exports = Symbol; + + +/***/ }, +/* 61 */ /***/ function(module, exports, __webpack_require__) { - var root = __webpack_require__(31); + var root = __webpack_require__(33); /** Built-in value references. */ var Uint8Array = root.Uint8Array; @@ -3434,7 +3318,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 65 */ +/* 62 */ /***/ function(module, exports) { /** @@ -3458,7 +3342,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 66 */ +/* 63 */ /***/ function(module, exports) { /** @@ -3482,13 +3366,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 67 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { - var keys = __webpack_require__(68); + var keys = __webpack_require__(65); - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1; + /** Used to compose bitmasks for comparison styles. */ + var PARTIAL_COMPARE_FLAG = 2; /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -3503,14 +3387,15 @@ return /******/ (function(modules) { // webpackBootstrap * @private * @param {Object} object The object to compare. * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + function equalObjects(object, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, objProps = keys(object), objLength = objProps.length, othProps = keys(other), @@ -3548,7 +3433,7 @@ return /******/ (function(modules) { // webpackBootstrap } // Recursively compare objects (susceptible to call stack limits). if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack)) : compared )) { result = false; @@ -3577,12 +3462,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 68 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { - var arrayLikeKeys = __webpack_require__(69), - baseKeys = __webpack_require__(84), - isArrayLike = __webpack_require__(88); + var arrayLikeKeys = __webpack_require__(66), + baseKeys = __webpack_require__(76), + isArrayLike = __webpack_require__(70); /** * Creates an array of the own enumerable property names of `object`. @@ -3620,15 +3505,14 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 69 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { - var baseTimes = __webpack_require__(70), - isArguments = __webpack_require__(71), - isArray = __webpack_require__(74), - isBuffer = __webpack_require__(75), - isIndex = __webpack_require__(78), - isTypedArray = __webpack_require__(79); + var baseTimes = __webpack_require__(67), + isArguments = __webpack_require__(68), + isArray = __webpack_require__(73), + isIndex = __webpack_require__(74), + isString = __webpack_require__(75); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -3645,26 +3529,16 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Array} Returns the array of property names. */ function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; + var result = (isArray(value) || isString(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { result.push(key); } } @@ -3675,7 +3549,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 70 */ +/* 67 */ /***/ function(module, exports) { /** @@ -3701,11 +3575,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 71 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { - var baseIsArguments = __webpack_require__(72), - isObjectLike = __webpack_require__(73); + var isArrayLikeObject = __webpack_require__(69); + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]'; /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -3713,6 +3589,13 @@ return /******/ (function(modules) { // webpackBootstrap /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + /** Built-in value references. */ var propertyIsEnumerable = objectProto.propertyIsEnumerable; @@ -3734,192 +3617,203 @@ return /******/ (function(modules) { // webpackBootstrap * _.isArguments([1, 2, 3]); * // => false */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; + function isArguments(value) { + // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); + } module.exports = isArguments; /***/ }, -/* 72 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { - var baseGetTag = __webpack_require__(29), - isObjectLike = __webpack_require__(73); - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]'; + var isArrayLike = __webpack_require__(70), + isObjectLike = __webpack_require__(72); /** - * The base implementation of `_.isArguments`. + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. * - * @private + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false */ - function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); } - module.exports = baseIsArguments; + module.exports = isArrayLikeObject; /***/ }, -/* 73 */ -/***/ function(module, exports) { +/* 70 */ +/***/ function(module, exports, __webpack_require__) { + + var isFunction = __webpack_require__(28), + isLength = __webpack_require__(71); /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. * @example * - * _.isObjectLike({}); + * _.isArrayLike([1, 2, 3]); * // => true * - * _.isObjectLike([1, 2, 3]); + * _.isArrayLike(document.body.children); * // => true * - * _.isObjectLike(_.noop); - * // => false + * _.isArrayLike('abc'); + * // => true * - * _.isObjectLike(null); + * _.isArrayLike(_.noop); * // => false */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); } - module.exports = isObjectLike; + module.exports = isArrayLike; /***/ }, -/* 74 */ +/* 71 */ /***/ function(module, exports) { + /** Used as references for various `Number` constants. */ + var MAX_SAFE_INTEGER = 9007199254740991; + /** - * Checks if `value` is classified as an `Array` object. + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). * * @static * @memberOf _ - * @since 0.1.0 + * @since 4.0.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. * @example * - * _.isArray([1, 2, 3]); + * _.isLength(3); * // => true * - * _.isArray(document.body.children); + * _.isLength(Number.MIN_VALUE); * // => false * - * _.isArray('abc'); + * _.isLength(Infinity); * // => false * - * _.isArray(_.noop); + * _.isLength('3'); * // => false */ - var isArray = Array.isArray; + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } - module.exports = isArray; + module.exports = isLength; /***/ }, -/* 75 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(31), - stubFalse = __webpack_require__(77); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; - - /** Built-in value references. */ - var Buffer = moduleExports ? root.Buffer : undefined; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; +/* 72 */ +/***/ function(module, exports) { /** - * Checks if `value` is a buffer. + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". * * @static * @memberOf _ - * @since 4.3.0 + * @since 4.0.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * - * _.isBuffer(new Buffer(2)); + * _.isObjectLike({}); * // => true * - * _.isBuffer(new Uint8Array(2)); + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); * // => false */ - var isBuffer = nativeIsBuffer || stubFalse; - - module.exports = isBuffer; - - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module))) - -/***/ }, -/* 76 */ -/***/ function(module, exports) { - - module.exports = function(module) { - if(!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - module.children = []; - module.webpackPolyfill = 1; - } - return module; + function isObjectLike(value) { + return !!value && typeof value == 'object'; } + module.exports = isObjectLike; + /***/ }, -/* 77 */ +/* 73 */ /***/ function(module, exports) { /** - * This method returns `false`. + * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {boolean} Returns `false`. + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * - * _.times(2, _.stubFalse); - * // => [false, false] + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false */ - function stubFalse() { - return false; - } + var isArray = Array.isArray; - module.exports = stubFalse; + module.exports = isArray; /***/ }, -/* 78 */ +/* 74 */ /***/ function(module, exports) { /** Used as references for various `Number` constants. */ @@ -3947,200 +3841,56 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 79 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { - var baseIsTypedArray = __webpack_require__(80), - baseUnary = __webpack_require__(82), - nodeUtil = __webpack_require__(83); + var isArray = __webpack_require__(73), + isObjectLike = __webpack_require__(72); - /* Node.js helper references. */ - var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + /** `Object#toString` result references. */ + var stringTag = '[object String]'; + + /** Used for built-in method references. */ + var objectProto = Object.prototype; /** - * Checks if `value` is classified as a typed array. + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + + /** + * Checks if `value` is classified as a `String` primitive or object. * * @static + * @since 0.1.0 * @memberOf _ - * @since 3.0.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. * @example * - * _.isTypedArray(new Uint8Array); + * _.isString('abc'); * // => true * - * _.isTypedArray([]); + * _.isString(1); * // => false */ - var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - - module.exports = isTypedArray; - - -/***/ }, -/* 80 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGetTag = __webpack_require__(29), - isLength = __webpack_require__(81), - isObjectLike = __webpack_require__(73); - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = - typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = - typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = - typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = - typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = - typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = - typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = - typedArrayTags[errorTag] = typedArrayTags[funcTag] = - typedArrayTags[mapTag] = typedArrayTags[numberTag] = - typedArrayTags[objectTag] = typedArrayTags[regexpTag] = - typedArrayTags[setTag] = typedArrayTags[stringTag] = - typedArrayTags[weakMapTag] = false; - - /** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; - } - - module.exports = baseIsTypedArray; - - -/***/ }, -/* 81 */ -/***/ function(module, exports) { - - /** Used as references for various `Number` constants. */ - var MAX_SAFE_INTEGER = 9007199254740991; - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - module.exports = isLength; - - -/***/ }, -/* 82 */ -/***/ function(module, exports) { - - /** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ - function baseUnary(func) { - return function(value) { - return func(value); - }; + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag); } - module.exports = baseUnary; - - -/***/ }, -/* 83 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(32); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; - - /** Detect free variable `process` from Node.js. */ - var freeProcess = moduleExports && freeGlobal.process; - - /** Used to access faster Node.js helpers. */ - var nodeUtil = (function() { - try { - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }()); - - module.exports = nodeUtil; + module.exports = isString; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module))) /***/ }, -/* 84 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { - var isPrototype = __webpack_require__(85), - nativeKeys = __webpack_require__(86); + var isPrototype = __webpack_require__(77), + nativeKeys = __webpack_require__(78); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -4172,7 +3922,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 85 */ +/* 77 */ /***/ function(module, exports) { /** Used for built-in method references. */ @@ -4196,10 +3946,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 86 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { - var overArg = __webpack_require__(87); + var overArg = __webpack_require__(79); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeKeys = overArg(Object.keys, Object); @@ -4208,7 +3958,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 87 */ +/* 79 */ /***/ function(module, exports) { /** @@ -4229,55 +3979,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 88 */ -/***/ function(module, exports, __webpack_require__) { - - var isFunction = __webpack_require__(28), - isLength = __webpack_require__(81); - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - module.exports = isArrayLike; - - -/***/ }, -/* 89 */ +/* 80 */ /***/ function(module, exports, __webpack_require__) { - var DataView = __webpack_require__(90), + var DataView = __webpack_require__(81), Map = __webpack_require__(25), - Promise = __webpack_require__(91), - Set = __webpack_require__(92), - WeakMap = __webpack_require__(93), - baseGetTag = __webpack_require__(29), - toSource = __webpack_require__(38); + Promise = __webpack_require__(82), + Set = __webpack_require__(83), + WeakMap = __webpack_require__(84), + baseGetTag = __webpack_require__(85), + toSource = __webpack_require__(35); /** `Object#toString` result references. */ var mapTag = '[object Map]', @@ -4288,6 +3999,16 @@ return /******/ (function(modules) { // webpackBootstrap var dataViewTag = '[object DataView]'; + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + /** Used to detect maps, sets, and weakmaps. */ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), @@ -4304,16 +4025,17 @@ return /******/ (function(modules) { // webpackBootstrap */ var getTag = baseGetTag; - // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + // Fallback for data views, maps, sets, and weak maps in IE 11, + // for data views in Edge, and promises in Node.js. if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || (Map && getTag(new Map) != mapTag) || (Promise && getTag(Promise.resolve()) != promiseTag) || (Set && getTag(new Set) != setTag) || (WeakMap && getTag(new WeakMap) != weakMapTag)) { getTag = function(value) { - var result = baseGetTag(value), + var result = objectToString.call(value), Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; + ctorString = Ctor ? toSource(Ctor) : undefined; if (ctorString) { switch (ctorString) { @@ -4332,11 +4054,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 90 */ +/* 81 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(26), - root = __webpack_require__(31); + root = __webpack_require__(33); /* Built-in method references that are verified to be native. */ var DataView = getNative(root, 'DataView'); @@ -4345,11 +4067,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 91 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(26), - root = __webpack_require__(31); + root = __webpack_require__(33); /* Built-in method references that are verified to be native. */ var Promise = getNative(root, 'Promise'); @@ -4358,11 +4080,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 92 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(26), - root = __webpack_require__(31); + root = __webpack_require__(33); /* Built-in method references that are verified to be native. */ var Set = getNative(root, 'Set'); @@ -4371,11 +4093,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 93 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { var getNative = __webpack_require__(26), - root = __webpack_require__(31); + root = __webpack_require__(33); /* Built-in method references that are verified to be native. */ var WeakMap = getNative(root, 'WeakMap'); @@ -4384,43 +4106,244 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 94 */ -/***/ function(module, exports, __webpack_require__) { +/* 85 */ +/***/ function(module, exports) { + + /** Used for built-in method references. */ + var objectProto = Object.prototype; - var isStrictComparable = __webpack_require__(95), - keys = __webpack_require__(68); + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; /** - * Gets the property names, values, and compare flags of `object`. + * The base implementation of `getTag`. * * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. */ - function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; + function baseGetTag(value) { + return objectToString.call(value); } - module.exports = getMatchData; + module.exports = baseGetTag; /***/ }, -/* 95 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { - var isObject = __webpack_require__(35); + var baseIsTypedArray = __webpack_require__(87), + baseUnary = __webpack_require__(88), + nodeUtil = __webpack_require__(89); + + /* Node.js helper references. */ + var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + module.exports = isTypedArray; + + +/***/ }, +/* 87 */ +/***/ function(module, exports, __webpack_require__) { + + var isLength = __webpack_require__(71), + isObjectLike = __webpack_require__(72); + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; + } + + module.exports = baseIsTypedArray; + + +/***/ }, +/* 88 */ +/***/ function(module, exports) { + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + module.exports = baseUnary; + + +/***/ }, +/* 89 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(34); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} + }()); + + module.exports = nodeUtil; + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(90)(module))) + +/***/ }, +/* 90 */ +/***/ function(module, exports) { + + module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + module.children = []; + module.webpackPolyfill = 1; + } + return module; + } + + +/***/ }, +/* 91 */ +/***/ function(module, exports, __webpack_require__) { + + var isStrictComparable = __webpack_require__(92), + keys = __webpack_require__(65); + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + module.exports = getMatchData; + + +/***/ }, +/* 92 */ +/***/ function(module, exports, __webpack_require__) { + + var isObject = __webpack_require__(29); + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. * * @private * @param {*} value The value to check. @@ -4435,7 +4358,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 96 */ +/* 93 */ /***/ function(module, exports) { /** @@ -4461,20 +4384,20 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 97 */ +/* 94 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqual = __webpack_require__(55), - get = __webpack_require__(98), - hasIn = __webpack_require__(109), - isKey = __webpack_require__(101), - isStrictComparable = __webpack_require__(95), - matchesStrictComparable = __webpack_require__(96), - toKey = __webpack_require__(108); + var baseIsEqual = __webpack_require__(52), + get = __webpack_require__(95), + hasIn = __webpack_require__(105), + isKey = __webpack_require__(103), + isStrictComparable = __webpack_require__(92), + matchesStrictComparable = __webpack_require__(93), + toKey = __webpack_require__(104); - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; + /** Used to compose bitmasks for comparison styles. */ + var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; /** * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. @@ -4492,7 +4415,7 @@ return /******/ (function(modules) { // webpackBootstrap var objValue = get(object, path); return (objValue === undefined && objValue === srcValue) ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG); }; } @@ -4500,10 +4423,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 98 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { - var baseGet = __webpack_require__(99); + var baseGet = __webpack_require__(96); /** * Gets the value at `path` of `object`. If the resolved value is @@ -4539,11 +4462,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 99 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { - var castPath = __webpack_require__(100), - toKey = __webpack_require__(108); + var castPath = __webpack_require__(97), + isKey = __webpack_require__(103), + toKey = __webpack_require__(104); /** * The base implementation of `_.get` without support for default values. @@ -4554,7 +4478,7 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {*} Returns the resolved value. */ function baseGet(object, path) { - path = castPath(path, object); + path = isKey(path, object) ? [path] : castPath(path); var index = 0, length = path.length; @@ -4569,189 +4493,84 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 100 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { - var isArray = __webpack_require__(74), - isKey = __webpack_require__(101), - stringToPath = __webpack_require__(103), - toString = __webpack_require__(106); + var isArray = __webpack_require__(73), + stringToPath = __webpack_require__(98); /** * Casts `value` to a path array if it's not one. * * @private * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. * @returns {Array} Returns the cast property path array. */ - function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); + function castPath(value) { + return isArray(value) ? value : stringToPath(value); } module.exports = castPath; /***/ }, -/* 101 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { - var isArray = __webpack_require__(74), - isSymbol = __webpack_require__(102); + var memoize = __webpack_require__(99), + toString = __webpack_require__(100); /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; + var reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; /** - * Checks if `value` is a property name and not a property path. + * Converts `string` to a property path array. * * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. */ - function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; + var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); - } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); - module.exports = isKey; + module.exports = stringToPath; /***/ }, -/* 102 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { - var baseGetTag = __webpack_require__(29), - isObjectLike = __webpack_require__(73); + var MapCache = __webpack_require__(37); - /** `Object#toString` result references. */ - var symbolTag = '[object Symbol]'; + /** Used as the `TypeError` message for "Functions" methods. */ + var FUNC_ERROR_TEXT = 'Expected a function'; /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); - } - - module.exports = isSymbol; - - -/***/ }, -/* 103 */ -/***/ function(module, exports, __webpack_require__) { - - var memoizeCapped = __webpack_require__(104); - - /** Used to match property names within property paths. */ - var reLeadingDot = /^\./, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - var stringToPath = memoizeCapped(function(string) { - var result = []; - if (reLeadingDot.test(string)) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; - }); - - module.exports = stringToPath; - - -/***/ }, -/* 104 */ -/***/ function(module, exports, __webpack_require__) { - - var memoize = __webpack_require__(105); - - /** Used as the maximum memoize cache size. */ - var MAX_MEMOIZE_SIZE = 500; - - /** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; - } - - module.exports = memoizeCapped; - - -/***/ }, -/* 105 */ -/***/ function(module, exports, __webpack_require__) { - - var MapCache = __webpack_require__(40); - - /** Error message constants. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. * * **Note:** The cache is exposed as the `cache` property on the memoized * function. Its creation may be customized by replacing the `_.memoize.Cache` * constructor with one whose instances implement the * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * method interface of `delete`, `get`, `has`, and `set`. * * @static * @memberOf _ @@ -4785,7 +4604,7 @@ return /******/ (function(modules) { // webpackBootstrap * _.memoize.Cache = WeakMap; */ function memoize(func, resolver) { - if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { throw new TypeError(FUNC_ERROR_TEXT); } var memoized = function() { @@ -4797,24 +4616,24 @@ return /******/ (function(modules) { // webpackBootstrap return cache.get(key); } var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; + memoized.cache = cache.set(key, result); return result; }; memoized.cache = new (memoize.Cache || MapCache); return memoized; } - // Expose `MapCache`. + // Assign cache to `_.memoize`. memoize.Cache = MapCache; module.exports = memoize; /***/ }, -/* 106 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { - var baseToString = __webpack_require__(107); + var baseToString = __webpack_require__(101); /** * Converts `value` to a string. An empty string is returned for `null` @@ -4824,8 +4643,8 @@ return /******/ (function(modules) { // webpackBootstrap * @memberOf _ * @since 4.0.0 * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. + * @param {*} value The value to process. + * @returns {string} Returns the string. * @example * * _.toString(null); @@ -4845,12 +4664,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 107 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { - var Symbol = __webpack_require__(30), - arrayMap = __webpack_require__(7), - isArray = __webpack_require__(74), + var Symbol = __webpack_require__(60), isSymbol = __webpack_require__(102); /** Used as references for various `Number` constants. */ @@ -4873,10 +4690,6 @@ return /******/ (function(modules) { // webpackBootstrap if (typeof value == 'string') { return value; } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : ''; } @@ -4888,7 +4701,86 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 108 */ +/* 102 */ +/***/ function(module, exports, __webpack_require__) { + + var isObjectLike = __webpack_require__(72); + + /** `Object#toString` result references. */ + var symbolTag = '[object Symbol]'; + + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); + } + + module.exports = isSymbol; + + +/***/ }, +/* 103 */ +/***/ function(module, exports, __webpack_require__) { + + var isArray = __webpack_require__(73), + isSymbol = __webpack_require__(102); + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + module.exports = isKey; + + +/***/ }, +/* 104 */ /***/ function(module, exports, __webpack_require__) { var isSymbol = __webpack_require__(102); @@ -4915,11 +4807,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 109 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { - var baseHasIn = __webpack_require__(110), - hasPath = __webpack_require__(111); + var baseHasIn = __webpack_require__(106), + hasPath = __webpack_require__(107); /** * Checks if `path` is a direct or inherited property of `object`. @@ -4955,7 +4847,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 110 */ +/* 106 */ /***/ function(module, exports) { /** @@ -4974,15 +4866,17 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 111 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { - var castPath = __webpack_require__(100), - isArguments = __webpack_require__(71), - isArray = __webpack_require__(74), - isIndex = __webpack_require__(78), - isLength = __webpack_require__(81), - toKey = __webpack_require__(108); + var castPath = __webpack_require__(97), + isArguments = __webpack_require__(68), + isArray = __webpack_require__(73), + isIndex = __webpack_require__(74), + isKey = __webpack_require__(103), + isLength = __webpack_require__(71), + isString = __webpack_require__(75), + toKey = __webpack_require__(104); /** * Checks if `path` exists on `object`. @@ -4994,11 +4888,11 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {boolean} Returns `true` if `path` exists, else `false`. */ function hasPath(object, path, hasFunc) { - path = castPath(path, object); + path = isKey(path, object) ? [path] : castPath(path); - var index = -1, - length = path.length, - result = false; + var result, + index = -1, + length = path.length; while (++index < length) { var key = toKey(path[index]); @@ -5007,19 +4901,19 @@ return /******/ (function(modules) { // webpackBootstrap } object = object[key]; } - if (result || ++index != length) { + if (result) { return result; } - length = object == null ? 0 : object.length; + var length = object ? object.length : 0; return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); + (isArray(object) || isString(object) || isArguments(object)); } module.exports = hasPath; /***/ }, -/* 112 */ +/* 108 */ /***/ function(module, exports) { /** @@ -5046,13 +4940,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 113 */ +/* 109 */ /***/ function(module, exports, __webpack_require__) { - var baseProperty = __webpack_require__(114), - basePropertyDeep = __webpack_require__(115), - isKey = __webpack_require__(101), - toKey = __webpack_require__(108); + var baseProperty = __webpack_require__(110), + basePropertyDeep = __webpack_require__(111), + isKey = __webpack_require__(103), + toKey = __webpack_require__(104); /** * Creates a function that returns the value at `path` of a given object. @@ -5084,7 +4978,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 114 */ +/* 110 */ /***/ function(module, exports) { /** @@ -5104,10 +4998,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 115 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { - var baseGet = __webpack_require__(99); + var baseGet = __webpack_require__(96); /** * A specialized version of `baseProperty` which supports deep paths. @@ -5126,11 +5020,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 116 */ +/* 112 */ /***/ function(module, exports, __webpack_require__) { - var baseEach = __webpack_require__(117), - isArrayLike = __webpack_require__(88); + var baseEach = __webpack_require__(113), + isArrayLike = __webpack_require__(70); /** * The base implementation of `_.map` without support for iteratee shorthands. @@ -5154,11 +5048,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 117 */ +/* 113 */ /***/ function(module, exports, __webpack_require__) { - var baseForOwn = __webpack_require__(118), - createBaseEach = __webpack_require__(121); + var baseForOwn = __webpack_require__(114), + createBaseEach = __webpack_require__(117); /** * The base implementation of `_.forEach` without support for iteratee shorthands. @@ -5174,11 +5068,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 118 */ +/* 114 */ /***/ function(module, exports, __webpack_require__) { - var baseFor = __webpack_require__(119), - keys = __webpack_require__(68); + var baseFor = __webpack_require__(115), + keys = __webpack_require__(65); /** * The base implementation of `_.forOwn` without support for iteratee shorthands. @@ -5196,10 +5090,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 119 */ +/* 115 */ /***/ function(module, exports, __webpack_require__) { - var createBaseFor = __webpack_require__(120); + var createBaseFor = __webpack_require__(116); /** * The base implementation of `baseForOwn` which iterates over `object` @@ -5218,7 +5112,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 120 */ +/* 116 */ /***/ function(module, exports) { /** @@ -5249,10 +5143,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 121 */ +/* 117 */ /***/ function(module, exports, __webpack_require__) { - var isArrayLike = __webpack_require__(88); + var isArrayLike = __webpack_require__(70); /** * Creates a `baseEach` or `baseEachRight` function. @@ -5287,13 +5181,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 122 */ +/* 118 */ /***/ function(module, exports, __webpack_require__) { - var arrayFilter = __webpack_require__(123), - baseFilter = __webpack_require__(124), + var arrayFilter = __webpack_require__(119), + baseFilter = __webpack_require__(120), baseIteratee = __webpack_require__(8), - isArray = __webpack_require__(74); + isArray = __webpack_require__(73); /** * Iterates over elements of `collection`, returning an array of all elements @@ -5307,7 +5201,8 @@ return /******/ (function(modules) { // webpackBootstrap * @since 0.1.0 * @category Collection * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {Function} [predicate=_.identity] + * The function invoked per iteration. * @returns {Array} Returns the new filtered array. * @see _.reject * @example @@ -5341,7 +5236,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 123 */ +/* 119 */ /***/ function(module, exports) { /** @@ -5355,7 +5250,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function arrayFilter(array, predicate) { var index = -1, - length = array == null ? 0 : array.length, + length = array ? array.length : 0, resIndex = 0, result = []; @@ -5372,10 +5267,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 124 */ +/* 120 */ /***/ function(module, exports, __webpack_require__) { - var baseEach = __webpack_require__(117); + var baseEach = __webpack_require__(113); /** * The base implementation of `_.filter` without support for iteratee shorthands. @@ -5399,11 +5294,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 125 */ +/* 121 */ /***/ function(module, exports, __webpack_require__) { - var createFind = __webpack_require__(126), - findIndex = __webpack_require__(127); + var createFind = __webpack_require__(122), + findIndex = __webpack_require__(123); /** * Iterates over elements of `collection`, returning the first element @@ -5414,8 +5309,9 @@ return /******/ (function(modules) { // webpackBootstrap * @memberOf _ * @since 0.1.0 * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {Array|Object} collection The collection to search. + * @param {Function} [predicate=_.identity] + * The function invoked per iteration. * @param {number} [fromIndex=0] The index to search from. * @returns {*} Returns the matched element, else `undefined`. * @example @@ -5447,12 +5343,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 126 */ +/* 122 */ /***/ function(module, exports, __webpack_require__) { var baseIteratee = __webpack_require__(8), - isArrayLike = __webpack_require__(88), - keys = __webpack_require__(68); + isArrayLike = __webpack_require__(70), + keys = __webpack_require__(65); /** * Creates a `_.find` or `_.findLast` function. @@ -5478,12 +5374,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 127 */ +/* 123 */ /***/ function(module, exports, __webpack_require__) { - var baseFindIndex = __webpack_require__(128), + var baseFindIndex = __webpack_require__(124), baseIteratee = __webpack_require__(8), - toInteger = __webpack_require__(129); + toInteger = __webpack_require__(125); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max; @@ -5496,8 +5392,9 @@ return /******/ (function(modules) { // webpackBootstrap * @memberOf _ * @since 1.1.0 * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {Array} array The array to search. + * @param {Function} [predicate=_.identity] + * The function invoked per iteration. * @param {number} [fromIndex=0] The index to search from. * @returns {number} Returns the index of the found element, else `-1`. * @example @@ -5524,7 +5421,7 @@ return /******/ (function(modules) { // webpackBootstrap * // => 2 */ function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; + var length = array ? array.length : 0; if (!length) { return -1; } @@ -5539,7 +5436,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 128 */ +/* 124 */ /***/ function(module, exports) { /** @@ -5547,7 +5444,7 @@ return /******/ (function(modules) { // webpackBootstrap * support for iteratee shorthands. * * @private - * @param {Array} array The array to inspect. + * @param {Array} array The array to search. * @param {Function} predicate The function invoked per iteration. * @param {number} fromIndex The index to search from. * @param {boolean} [fromRight] Specify iterating from right to left. @@ -5569,10 +5466,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 129 */ +/* 125 */ /***/ function(module, exports, __webpack_require__) { - var toFinite = __webpack_require__(130); + var toFinite = __webpack_require__(126); /** * Converts `value` to an integer. @@ -5611,10 +5508,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 130 */ +/* 126 */ /***/ function(module, exports, __webpack_require__) { - var toNumber = __webpack_require__(131); + var toNumber = __webpack_require__(127); /** Used as references for various `Number` constants. */ var INFINITY = 1 / 0, @@ -5659,10 +5556,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 131 */ +/* 127 */ /***/ function(module, exports, __webpack_require__) { - var isObject = __webpack_require__(35), + var isFunction = __webpack_require__(28), + isObject = __webpack_require__(29), isSymbol = __webpack_require__(102); /** Used as references for various `Number` constants. */ @@ -5714,7 +5612,7 @@ return /******/ (function(modules) { // webpackBootstrap return NAN; } if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + var other = isFunction(value.valueOf) ? value.valueOf() : value; value = isObject(other) ? (other + '') : other; } if (typeof value != 'string') { @@ -5731,13 +5629,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 132 */ +/* 128 */ /***/ function(module, exports, __webpack_require__) { - var baseFlatten = __webpack_require__(133), - baseOrderBy = __webpack_require__(136), - baseRest = __webpack_require__(140), - isIterateeCall = __webpack_require__(148); + var baseFlatten = __webpack_require__(129), + baseOrderBy = __webpack_require__(132), + baseRest = __webpack_require__(136), + isIterateeCall = __webpack_require__(138); /** * Creates an array of elements, sorted in ascending order by the results of @@ -5762,11 +5660,16 @@ return /******/ (function(modules) { // webpackBootstrap * { 'user': 'barney', 'age': 34 } * ]; * - * _.sortBy(users, [function(o) { return o.user; }]); + * _.sortBy(users, function(o) { return o.user; }); * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] * * _.sortBy(users, ['user', 'age']); * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] + * + * _.sortBy(users, 'user', function(o) { + * return Math.floor(o.age / 10); + * }); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] */ var sortBy = baseRest(function(collection, iteratees) { if (collection == null) { @@ -5785,11 +5688,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 133 */ +/* 129 */ /***/ function(module, exports, __webpack_require__) { - var arrayPush = __webpack_require__(134), - isFlattenable = __webpack_require__(135); + var arrayPush = __webpack_require__(130), + isFlattenable = __webpack_require__(131); /** * The base implementation of `_.flatten` with support for restricting flattening. @@ -5829,7 +5732,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 134 */ +/* 130 */ /***/ function(module, exports) { /** @@ -5855,12 +5758,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 135 */ +/* 131 */ /***/ function(module, exports, __webpack_require__) { - var Symbol = __webpack_require__(30), - isArguments = __webpack_require__(71), - isArray = __webpack_require__(74); + var Symbol = __webpack_require__(60), + isArguments = __webpack_require__(68), + isArray = __webpack_require__(73); /** Built-in value references. */ var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; @@ -5881,16 +5784,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 136 */ +/* 132 */ /***/ function(module, exports, __webpack_require__) { var arrayMap = __webpack_require__(7), baseIteratee = __webpack_require__(8), - baseMap = __webpack_require__(116), - baseSortBy = __webpack_require__(137), - baseUnary = __webpack_require__(82), - compareMultiple = __webpack_require__(138), - identity = __webpack_require__(112); + baseMap = __webpack_require__(112), + baseSortBy = __webpack_require__(133), + baseUnary = __webpack_require__(88), + compareMultiple = __webpack_require__(134), + identity = __webpack_require__(108); /** * The base implementation of `_.orderBy` without param guards. @@ -5921,7 +5824,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 137 */ +/* 133 */ /***/ function(module, exports) { /** @@ -5948,10 +5851,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 138 */ +/* 134 */ /***/ function(module, exports, __webpack_require__) { - var compareAscending = __webpack_require__(139); + var compareAscending = __webpack_require__(135); /** * Used by `_.orderBy` to compare multiple properties of a value to another @@ -5998,7 +5901,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 139 */ +/* 135 */ /***/ function(module, exports, __webpack_require__) { var isSymbol = __webpack_require__(102); @@ -6045,12 +5948,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 140 */ +/* 136 */ /***/ function(module, exports, __webpack_require__) { - var identity = __webpack_require__(112), - overRest = __webpack_require__(141), - setToString = __webpack_require__(143); + var apply = __webpack_require__(137); + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax = Math.max; /** * The base implementation of `_.rest` which doesn't validate or coerce arguments. @@ -6061,37 +5965,12 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Function} Returns the new function. */ function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - module.exports = baseRest; - - -/***/ }, -/* 141 */ -/***/ function(module, exports, __webpack_require__) { - - var apply = __webpack_require__(142); - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMax = Math.max; - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); while (++index < length) { array[index] = args[start + index]; @@ -6101,16 +5980,16 @@ return /******/ (function(modules) { // webpackBootstrap while (++index < start) { otherArgs[index] = args[index]; } - otherArgs[start] = transform(array); + otherArgs[start] = array; return apply(func, this, otherArgs); }; } - module.exports = overRest; + module.exports = baseRest; /***/ }, -/* 142 */ +/* 137 */ /***/ function(module, exports) { /** @@ -6137,153 +6016,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 143 */ -/***/ function(module, exports, __webpack_require__) { - - var baseSetToString = __webpack_require__(144), - shortOut = __webpack_require__(147); - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = shortOut(baseSetToString); - - module.exports = setToString; - - -/***/ }, -/* 144 */ -/***/ function(module, exports, __webpack_require__) { - - var constant = __webpack_require__(145), - defineProperty = __webpack_require__(146), - identity = __webpack_require__(112); - - /** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); - }; - - module.exports = baseSetToString; - - -/***/ }, -/* 145 */ -/***/ function(module, exports) { - - /** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ - function constant(value) { - return function() { - return value; - }; - } - - module.exports = constant; - - -/***/ }, -/* 146 */ -/***/ function(module, exports, __webpack_require__) { - - var getNative = __webpack_require__(26); - - var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} - }()); - - module.exports = defineProperty; - - -/***/ }, -/* 147 */ -/***/ function(module, exports) { - - /** Used to detect hot functions by number of calls within a span of milliseconds. */ - var HOT_COUNT = 800, - HOT_SPAN = 16; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeNow = Date.now; - - /** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; - } - - module.exports = shortOut; - - -/***/ }, -/* 148 */ +/* 138 */ /***/ function(module, exports, __webpack_require__) { var eq = __webpack_require__(16), - isArrayLike = __webpack_require__(88), - isIndex = __webpack_require__(78), - isObject = __webpack_require__(35); + isArrayLike = __webpack_require__(70), + isIndex = __webpack_require__(74), + isObject = __webpack_require__(29); /** * Checks if the given arguments are from an iteratee call. @@ -6313,19 +6052,19 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 149 */ +/* 139 */ /***/ function(module, exports, __webpack_require__) { - var baseDifference = __webpack_require__(150), - baseFlatten = __webpack_require__(133), - baseRest = __webpack_require__(140), - isArrayLikeObject = __webpack_require__(156); + var baseDifference = __webpack_require__(140), + baseFlatten = __webpack_require__(129), + baseRest = __webpack_require__(136), + isArrayLikeObject = __webpack_require__(69); /** * Creates an array of `array` values not included in the other given arrays * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. + * for equality comparisons. The order of result values is determined by the + * order they occur in the first array. * * **Note:** Unlike `_.pullAll`, this method returns a new array. * @@ -6352,15 +6091,15 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 150 */ +/* 140 */ /***/ function(module, exports, __webpack_require__) { - var SetCache = __webpack_require__(58), - arrayIncludes = __webpack_require__(151), - arrayIncludesWith = __webpack_require__(155), + var SetCache = __webpack_require__(55), + arrayIncludes = __webpack_require__(141), + arrayIncludesWith = __webpack_require__(144), arrayMap = __webpack_require__(7), - baseUnary = __webpack_require__(82), - cacheHas = __webpack_require__(62); + baseUnary = __webpack_require__(88), + cacheHas = __webpack_require__(145); /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200; @@ -6402,7 +6141,7 @@ return /******/ (function(modules) { // webpackBootstrap outer: while (++index < length) { var value = array[index], - computed = iteratee == null ? value : iteratee(value); + computed = iteratee ? iteratee(value) : value; value = (comparator || value !== 0) ? value : 0; if (isCommon && computed === computed) { @@ -6425,22 +6164,22 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 151 */ +/* 141 */ /***/ function(module, exports, __webpack_require__) { - var baseIndexOf = __webpack_require__(152); + var baseIndexOf = __webpack_require__(142); /** * A specialized version of `_.includes` for arrays without support for * specifying an index to search from. * * @private - * @param {Array} [array] The array to inspect. + * @param {Array} [array] The array to search. * @param {*} target The value to search for. * @returns {boolean} Returns `true` if `target` is found, else `false`. */ function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; + var length = array ? array.length : 0; return !!length && baseIndexOf(array, value, 0) > -1; } @@ -6448,33 +6187,41 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 152 */ +/* 142 */ /***/ function(module, exports, __webpack_require__) { - var baseFindIndex = __webpack_require__(128), - baseIsNaN = __webpack_require__(153), - strictIndexOf = __webpack_require__(154); + var baseFindIndex = __webpack_require__(124), + baseIsNaN = __webpack_require__(143); /** * The base implementation of `_.indexOf` without `fromIndex` bounds checks. * * @private - * @param {Array} array The array to inspect. + * @param {Array} array The array to search. * @param {*} value The value to search for. * @param {number} fromIndex The index to search from. * @returns {number} Returns the index of the matched value, else `-1`. */ function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); + if (value !== value) { + return baseFindIndex(array, baseIsNaN, fromIndex); + } + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; } module.exports = baseIndexOf; /***/ }, -/* 153 */ +/* 143 */ /***/ function(module, exports) { /** @@ -6492,50 +6239,21 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 154 */ -/***/ function(module, exports) { - - /** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - module.exports = strictIndexOf; - - -/***/ }, -/* 155 */ +/* 144 */ /***/ function(module, exports) { /** * This function is like `arrayIncludes` except that it accepts a comparator. * * @private - * @param {Array} [array] The array to inspect. + * @param {Array} [array] The array to search. * @param {*} target The value to search for. * @param {Function} comparator The comparator invoked per element. * @returns {boolean} Returns `true` if `target` is found, else `false`. */ function arrayIncludesWith(array, value, comparator) { var index = -1, - length = array == null ? 0 : array.length; + length = array ? array.length : 0; while (++index < length) { if (comparator(value, array[index])) { @@ -6549,54 +6267,34 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 156 */ -/***/ function(module, exports, __webpack_require__) { - - var isArrayLike = __webpack_require__(88), - isObjectLike = __webpack_require__(73); +/* 145 */ +/***/ function(module, exports) { /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false + * Checks if a cache value for `key` exists. * - * _.isArrayLikeObject(_.noop); - * // => false + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. */ - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); + function cacheHas(cache, key) { + return cache.has(key); } - module.exports = isArrayLikeObject; + module.exports = cacheHas; /***/ }, -/* 157 */ +/* 146 */ /***/ function(module, exports, __webpack_require__) { - var assignValue = __webpack_require__(158), - copyObject = __webpack_require__(160), - createAssigner = __webpack_require__(161), - isArrayLike = __webpack_require__(88), - isPrototype = __webpack_require__(85), - keys = __webpack_require__(68); + var assignValue = __webpack_require__(147), + copyObject = __webpack_require__(148), + createAssigner = __webpack_require__(149), + isArrayLike = __webpack_require__(70), + isPrototype = __webpack_require__(77), + keys = __webpack_require__(65); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -6604,6 +6302,12 @@ return /******/ (function(modules) { // webpackBootstrap /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; + /** Built-in value references. */ + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + + /** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */ + var nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf'); + /** * Assigns own enumerable string keyed properties of source objects to the * destination object. Source objects are applied from left to right. @@ -6637,7 +6341,7 @@ return /******/ (function(modules) { // webpackBootstrap * // => { 'a': 1, 'c': 3 } */ var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { + if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) { copyObject(source, keys(source), object); return; } @@ -6652,11 +6356,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 158 */ +/* 147 */ /***/ function(module, exports, __webpack_require__) { - var baseAssignValue = __webpack_require__(159), - eq = __webpack_require__(16); + var eq = __webpack_require__(16); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -6678,50 +6381,18 @@ return /******/ (function(modules) { // webpackBootstrap var objValue = object[key]; if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - module.exports = assignValue; - - -/***/ }, -/* 159 */ -/***/ function(module, exports, __webpack_require__) { - - var defineProperty = __webpack_require__(146); - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { object[key] = value; } } - module.exports = baseAssignValue; + module.exports = assignValue; /***/ }, -/* 160 */ +/* 148 */ /***/ function(module, exports, __webpack_require__) { - var assignValue = __webpack_require__(158), - baseAssignValue = __webpack_require__(159); + var assignValue = __webpack_require__(147); /** * Copies properties of `source` to `object`. @@ -6734,7 +6405,6 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {Object} Returns `object`. */ function copyObject(source, props, object, customizer) { - var isNew = !object; object || (object = {}); var index = -1, @@ -6747,14 +6417,7 @@ return /******/ (function(modules) { // webpackBootstrap ? customizer(object[key], source[key], key, object, source) : undefined; - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } + assignValue(object, key, newValue === undefined ? source[key] : newValue); } return object; } @@ -6763,11 +6426,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 161 */ +/* 149 */ /***/ function(module, exports, __webpack_require__) { - var baseRest = __webpack_require__(140), - isIterateeCall = __webpack_require__(148); + var baseRest = __webpack_require__(136), + isIterateeCall = __webpack_require__(138); /** * Creates a function like `_.assign`. @@ -6806,7 +6469,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 162 */ +/* 150 */ /***/ function(module, exports, __webpack_require__) { /* @@ -6816,7 +6479,7 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(2); var ColumnProperties = __webpack_require__(5); - var pick = __webpack_require__(163); + var pick = __webpack_require__(151); var GridRowContainer = React.createClass({ displayName: 'GridRowContainer', @@ -6835,6 +6498,10 @@ return /******/ (function(modules) { // webpackBootstrap "parentRowCollapsedComponent": "▶", "parentRowExpandedComponent": "▼", "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null, "multipleSelectionSettings": null }; }, @@ -6889,7 +6556,11 @@ return /******/ (function(modules) { // webpackBootstrap paddingHeight: that.props.paddingHeight, rowHeight: that.props.rowHeight, onRowClick: that.props.onRowClick, - multipleSelectionSettings: this.props.multipleSelectionSettings })); + onRowMouseEnter: that.props.onRowMouseEnter, + onRowMouseLeave: that.props.onRowMouseLeave, + multipleSelectionSettings: this.props.multipleSelectionSettings, + onRowWillMount: that.props.onRowWillMount, + onRowWillUnmount: that.props.onRowWillUnmount })); var children = null; @@ -6936,11 +6607,14 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GridRowContainer; /***/ }, -/* 163 */ +/* 151 */ /***/ function(module, exports, __webpack_require__) { - var basePick = __webpack_require__(164), - flatRest = __webpack_require__(167); + var arrayMap = __webpack_require__(7), + baseFlatten = __webpack_require__(129), + basePick = __webpack_require__(152), + baseRest = __webpack_require__(136), + toKey = __webpack_require__(104); /** * Creates an object composed of the picked `object` properties. @@ -6950,7 +6624,7 @@ return /******/ (function(modules) { // webpackBootstrap * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. + * @param {...(string|string[])} [props] The property identifiers to pick. * @returns {Object} Returns the new object. * @example * @@ -6959,19 +6633,18 @@ return /******/ (function(modules) { // webpackBootstrap * _.pick(object, ['a', 'c']); * // => { 'a': 1, 'c': 3 } */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); + var pick = baseRest(function(object, props) { + return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey)); }); module.exports = pick; /***/ }, -/* 164 */ +/* 152 */ /***/ function(module, exports, __webpack_require__) { - var basePickBy = __webpack_require__(165), - hasIn = __webpack_require__(109); + var basePickBy = __webpack_require__(153); /** * The base implementation of `_.pick` without support for individual @@ -6979,13 +6652,13 @@ return /******/ (function(modules) { // webpackBootstrap * * @private * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. + * @param {string[]} props The property identifiers to pick. * @returns {Object} Returns the new object. */ - function basePick(object, paths) { + function basePick(object, props) { object = Object(object); - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); + return basePickBy(object, props, function(value, key) { + return key in object; }); } @@ -6993,33 +6666,29 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 165 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGet = __webpack_require__(99), - baseSet = __webpack_require__(166), - castPath = __webpack_require__(100); +/* 153 */ +/***/ function(module, exports) { /** * The base implementation of `_.pickBy` without support for iteratee shorthands. * * @private * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. + * @param {string[]} props The property identifiers to pick from. * @param {Function} predicate The function invoked per property. * @returns {Object} Returns the new object. */ - function basePickBy(object, paths, predicate) { + function basePickBy(object, props, predicate) { var index = -1, - length = paths.length, + length = props.length, result = {}; while (++index < length) { - var path = paths[index], - value = baseGet(object, path); + var key = props[index], + value = object[key]; - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); + if (predicate(value, key)) { + result[key] = value; } } return result; @@ -7029,119 +6698,16 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 166 */ +/* 154 */ /***/ function(module, exports, __webpack_require__) { - var assignValue = __webpack_require__(158), - castPath = __webpack_require__(100), - isIndex = __webpack_require__(78), - isObject = __webpack_require__(35), - toKey = __webpack_require__(108); - - /** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; - } - - module.exports = baseSet; - - -/***/ }, -/* 167 */ -/***/ function(module, exports, __webpack_require__) { - - var flatten = __webpack_require__(168), - overRest = __webpack_require__(141), - setToString = __webpack_require__(143); - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - module.exports = flatRest; - - -/***/ }, -/* 168 */ -/***/ function(module, exports, __webpack_require__) { - - var baseFlatten = __webpack_require__(133); - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - module.exports = flatten; - - -/***/ }, -/* 169 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; + 'use strict'; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _uniqueId = __webpack_require__(170); + var _uniqueId = __webpack_require__(155); var RowProperties = (function () { function RowProperties() { @@ -7208,10 +6774,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 170 */ +/* 155 */ /***/ function(module, exports, __webpack_require__) { - var toString = __webpack_require__(106); + var toString = __webpack_require__(100); /** Used to generate unique IDs. */ var idCounter = 0; @@ -7242,7 +6808,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 171 */ +/* 156 */ /***/ function(module, exports, __webpack_require__) { /* @@ -7271,7 +6837,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GridFilter; /***/ }, -/* 172 */ +/* 157 */ /***/ function(module, exports, __webpack_require__) { /* @@ -7280,7 +6846,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; var React = __webpack_require__(2); - var assign = __webpack_require__(157); + var assign = __webpack_require__(146); //needs props maxPage, currentPage, nextFunction, prevFunction var GridPagination = React.createClass({ @@ -7343,7 +6909,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GridPagination; /***/ }, -/* 173 */ +/* 158 */ /***/ function(module, exports, __webpack_require__) { /* @@ -7352,9 +6918,9 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; var React = __webpack_require__(2); - var includes = __webpack_require__(174); - var without = __webpack_require__(178); - var find = __webpack_require__(125); + var includes = __webpack_require__(159); + var without = __webpack_require__(162); + var find = __webpack_require__(121); var GridSettings = React.createClass({ displayName: 'GridSettings', @@ -7423,14 +6989,14 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GridSettings; /***/ }, -/* 174 */ +/* 159 */ /***/ function(module, exports, __webpack_require__) { - var baseIndexOf = __webpack_require__(152), - isArrayLike = __webpack_require__(88), - isString = __webpack_require__(175), - toInteger = __webpack_require__(129), - values = __webpack_require__(176); + var baseIndexOf = __webpack_require__(142), + isArrayLike = __webpack_require__(70), + isString = __webpack_require__(75), + toInteger = __webpack_require__(125), + values = __webpack_require__(160); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMax = Math.max; @@ -7446,7 +7012,7 @@ return /******/ (function(modules) { // webpackBootstrap * @memberOf _ * @since 0.1.0 * @category Collection - * @param {Array|Object|string} collection The collection to inspect. + * @param {Array|Object|string} collection The collection to search. * @param {*} value The value to search for. * @param {number} [fromIndex=0] The index to search from. * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. @@ -7482,47 +7048,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 175 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGetTag = __webpack_require__(29), - isArray = __webpack_require__(74), - isObjectLike = __webpack_require__(73); - - /** `Object#toString` result references. */ - var stringTag = '[object String]'; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - module.exports = isString; - - -/***/ }, -/* 176 */ +/* 160 */ /***/ function(module, exports, __webpack_require__) { - var baseValues = __webpack_require__(177), - keys = __webpack_require__(68); + var baseValues = __webpack_require__(161), + keys = __webpack_require__(65); /** * Creates an array of the own enumerable string keyed property values of `object`. @@ -7551,14 +7081,14 @@ return /******/ (function(modules) { // webpackBootstrap * // => ['h', 'i'] */ function values(object) { - return object == null ? [] : baseValues(object, keys(object)); + return object ? baseValues(object, keys(object)) : []; } module.exports = values; /***/ }, -/* 177 */ +/* 161 */ /***/ function(module, exports, __webpack_require__) { var arrayMap = __webpack_require__(7); @@ -7583,12 +7113,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 178 */ +/* 162 */ /***/ function(module, exports, __webpack_require__) { - var baseDifference = __webpack_require__(150), - baseRest = __webpack_require__(140), - isArrayLikeObject = __webpack_require__(156); + var baseDifference = __webpack_require__(140), + baseRest = __webpack_require__(136), + isArrayLikeObject = __webpack_require__(69); /** * Creates an array excluding all given values using @@ -7620,7 +7150,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 179 */ +/* 163 */ /***/ function(module, exports, __webpack_require__) { /* @@ -7648,7 +7178,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GridNoData; /***/ }, -/* 180 */ +/* 164 */ /***/ function(module, exports, __webpack_require__) { /* @@ -7658,13 +7188,13 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(2); var ColumnProperties = __webpack_require__(5); - var deep = __webpack_require__(181); + var deep = __webpack_require__(165); var isFunction = __webpack_require__(28); - var zipObject = __webpack_require__(188); - var assign = __webpack_require__(157); - var defaults = __webpack_require__(190); - var toPairs = __webpack_require__(196); - var without = __webpack_require__(178); + var zipObject = __webpack_require__(171); + var assign = __webpack_require__(146); + var defaults = __webpack_require__(173); + var toPairs = __webpack_require__(179); + var without = __webpack_require__(162); var GridRow = React.createClass({ displayName: 'GridRow', @@ -7687,9 +7217,23 @@ return /******/ (function(modules) { // webpackBootstrap "parentRowCollapsedComponent": "▶", "parentRowExpandedComponent": "▼", "onRowClick": null, - "multipleSelectionSettings": null + "multipleSelectionSettings": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null }; }, + componentWillMount: function componentWillMount() { + if (this.props.onRowWillMount !== null && isFunction(this.props.onRowWillMount)) { + this.props.onRowWillMount(this); + } + }, + componentWillUnmount: function componentWillUnmount() { + if (this.props.onRowWillUnmount !== null && isFunction(this.props.onRowWillUnmount)) { + this.props.onRowWillUnmount(this); + } + }, handleClick: function handleClick(e) { if (this.props.onRowClick !== null && isFunction(this.props.onRowClick)) { this.props.onRowClick(this, e); @@ -7697,6 +7241,16 @@ return /******/ (function(modules) { // webpackBootstrap this.props.toggleChildren(); } }, + handleMouseEnter: function handleMouseEnter(e) { + if (this.props.onRowMouseEnter !== null && isFunction(this.props.onRowMouseEnter)) { + this.props.onRowMouseEnter(this, e); + } + }, + handleMouseLeave: function handleMouseLeave(e) { + if (this.props.onRowMouseLeave !== null && isFunction(this.props.onRowMouseLeave)) { + this.props.onRowMouseLeave(this, e); + } + }, handleSelectionChange: function handleSelectionChange(e) { //hack to get around warning that's not super useful in this case return; @@ -7764,13 +7318,13 @@ return /******/ (function(modules) { // webpackBootstrap if (_this.props.columnSettings.hasColumnMetadata() && typeof meta !== 'undefined' && meta !== null) { if (typeof meta.customComponent !== 'undefined' && meta.customComponent !== null) { var customComponent = React.createElement(meta.customComponent, { data: col[1], rowData: dataView, metadata: meta }); - returnValue = React.createElement('td', { onClick: _this.handleClick, className: meta.cssClassName, key: index, style: columnStyles }, customComponent); + returnValue = React.createElement('td', { onClick: _this.handleClick, onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, className: meta.cssClassName, key: index, style: columnStyles }, customComponent); } else { - returnValue = React.createElement('td', { onClick: _this.handleClick, className: meta.cssClassName, key: index, style: columnStyles }, firstColAppend, _this.formatData(col[1])); + returnValue = React.createElement('td', { onClick: _this.handleClick, onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, className: meta.cssClassName, key: index, style: columnStyles }, firstColAppend, _this.formatData(col[1])); } } - return returnValue || React.createElement('td', { onClick: _this.handleClick, key: index, style: columnStyles }, firstColAppend, col[1]); + return returnValue || React.createElement('td', { onClick: _this.handleClick, onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, key: index, style: columnStyles }, firstColAppend, col[1]); }); // Don't compete with onRowClick, but if no onRowClick function then @@ -7821,17 +7375,17 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GridRow; /***/ }, -/* 181 */ +/* 165 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var forEach = __webpack_require__(182); - var isObject = __webpack_require__(35); - var isArray = __webpack_require__(74); + var forEach = __webpack_require__(166); + var isObject = __webpack_require__(29); + var isArray = __webpack_require__(73); var isFunction = __webpack_require__(28); - var isPlainObject = __webpack_require__(185); - var forOwn = __webpack_require__(187); + var isPlainObject = __webpack_require__(168); + var forOwn = __webpack_require__(170); // Credits: https://github.com/documentcloud/underscore-contrib // Sub module: underscore.object.selectors @@ -7976,13 +7530,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 182 */ +/* 166 */ /***/ function(module, exports, __webpack_require__) { - var arrayEach = __webpack_require__(183), - baseEach = __webpack_require__(117), - castFunction = __webpack_require__(184), - isArray = __webpack_require__(74); + var arrayEach = __webpack_require__(167), + baseEach = __webpack_require__(113), + baseIteratee = __webpack_require__(8), + isArray = __webpack_require__(73); /** * Iterates over elements of `collection` and invokes `iteratee` for each element. @@ -8004,7 +7558,7 @@ return /******/ (function(modules) { // webpackBootstrap * @see _.forEachRight * @example * - * _.forEach([1, 2], function(value) { + * _([1, 2]).forEach(function(value) { * console.log(value); * }); * // => Logs `1` then `2`. @@ -8016,14 +7570,14 @@ return /******/ (function(modules) { // webpackBootstrap */ function forEach(collection, iteratee) { var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, castFunction(iteratee)); + return func(collection, baseIteratee(iteratee, 3)); } module.exports = forEach; /***/ }, -/* 183 */ +/* 167 */ /***/ function(module, exports) { /** @@ -8037,7 +7591,7 @@ return /******/ (function(modules) { // webpackBootstrap */ function arrayEach(array, iteratee) { var index = -1, - length = array == null ? 0 : array.length; + length = array ? array.length : 0; while (++index < length) { if (iteratee(array[index], index, array) === false) { @@ -8051,42 +7605,21 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 184 */ -/***/ function(module, exports, __webpack_require__) { - - var identity = __webpack_require__(112); - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function castFunction(value) { - return typeof value == 'function' ? value : identity; - } - - module.exports = castFunction; - - -/***/ }, -/* 185 */ +/* 168 */ /***/ function(module, exports, __webpack_require__) { - var baseGetTag = __webpack_require__(29), - getPrototype = __webpack_require__(186), - isObjectLike = __webpack_require__(73); + var getPrototype = __webpack_require__(169), + isHostObject = __webpack_require__(30), + isObjectLike = __webpack_require__(72); /** `Object#toString` result references. */ var objectTag = '[object Object]'; /** Used for built-in method references. */ - var funcProto = Function.prototype, - objectProto = Object.prototype; + var objectProto = Object.prototype; /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; + var funcToString = Function.prototype.toString; /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; @@ -8094,6 +7627,13 @@ return /******/ (function(modules) { // webpackBootstrap /** Used to infer the `Object` constructor. */ var objectCtorString = funcToString.call(Object); + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + /** * Checks if `value` is a plain object, that is, an object created by the * `Object` constructor or one with a `[[Prototype]]` of `null`. @@ -8123,7 +7663,8 @@ return /******/ (function(modules) { // webpackBootstrap * // => true */ function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + if (!isObjectLike(value) || + objectToString.call(value) != objectTag || isHostObject(value)) { return false; } var proto = getPrototype(value); @@ -8131,18 +7672,18 @@ return /******/ (function(modules) { // webpackBootstrap return true; } var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; + return (typeof Ctor == 'function' && + Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString); } module.exports = isPlainObject; /***/ }, -/* 186 */ +/* 169 */ /***/ function(module, exports, __webpack_require__) { - var overArg = __webpack_require__(87); + var overArg = __webpack_require__(79); /** Built-in value references. */ var getPrototype = overArg(Object.getPrototypeOf, Object); @@ -8151,11 +7692,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 187 */ +/* 170 */ /***/ function(module, exports, __webpack_require__) { - var baseForOwn = __webpack_require__(118), - castFunction = __webpack_require__(184); + var baseForOwn = __webpack_require__(114), + baseIteratee = __webpack_require__(8); /** * Iterates over own enumerable string keyed properties of an object and @@ -8186,18 +7727,18 @@ return /******/ (function(modules) { // webpackBootstrap * // => Logs 'a' then 'b' (iteration order is not guaranteed). */ function forOwn(object, iteratee) { - return object && baseForOwn(object, castFunction(iteratee)); + return object && baseForOwn(object, baseIteratee(iteratee, 3)); } module.exports = forOwn; /***/ }, -/* 188 */ +/* 171 */ /***/ function(module, exports, __webpack_require__) { - var assignValue = __webpack_require__(158), - baseZipObject = __webpack_require__(189); + var assignValue = __webpack_require__(147), + baseZipObject = __webpack_require__(172); /** * This method is like `_.fromPairs` except that it accepts two arrays, @@ -8223,7 +7764,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 189 */ +/* 172 */ /***/ function(module, exports) { /** @@ -8252,13 +7793,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 190 */ +/* 173 */ /***/ function(module, exports, __webpack_require__) { - var apply = __webpack_require__(142), - assignInDefaults = __webpack_require__(191), - assignInWith = __webpack_require__(192), - baseRest = __webpack_require__(140); + var apply = __webpack_require__(137), + assignInDefaults = __webpack_require__(174), + assignInWith = __webpack_require__(175), + baseRest = __webpack_require__(136); /** * Assigns own and inherited enumerable string keyed properties of source @@ -8290,7 +7831,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 191 */ +/* 174 */ /***/ function(module, exports, __webpack_require__) { var eq = __webpack_require__(16); @@ -8323,12 +7864,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 192 */ +/* 175 */ /***/ function(module, exports, __webpack_require__) { - var copyObject = __webpack_require__(160), - createAssigner = __webpack_require__(161), - keysIn = __webpack_require__(193); + var copyObject = __webpack_require__(148), + createAssigner = __webpack_require__(149), + keysIn = __webpack_require__(176); /** * This method is like `_.assignIn` except that it accepts `customizer` @@ -8367,12 +7908,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 193 */ +/* 176 */ /***/ function(module, exports, __webpack_require__) { - var arrayLikeKeys = __webpack_require__(69), - baseKeysIn = __webpack_require__(194), - isArrayLike = __webpack_require__(88); + var arrayLikeKeys = __webpack_require__(66), + baseKeysIn = __webpack_require__(177), + isArrayLike = __webpack_require__(70); /** * Creates an array of the own and inherited enumerable property names of `object`. @@ -8405,12 +7946,12 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 194 */ +/* 177 */ /***/ function(module, exports, __webpack_require__) { - var isObject = __webpack_require__(35), - isPrototype = __webpack_require__(85), - nativeKeysIn = __webpack_require__(195); + var isObject = __webpack_require__(29), + isPrototype = __webpack_require__(77), + nativeKeysIn = __webpack_require__(178); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -8444,7 +7985,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 195 */ +/* 178 */ /***/ function(module, exports) { /** @@ -8470,11 +8011,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 196 */ +/* 179 */ /***/ function(module, exports, __webpack_require__) { - var createToPairs = __webpack_require__(197), - keys = __webpack_require__(68); + var createToPairs = __webpack_require__(180), + keys = __webpack_require__(65); /** * Creates an array of own enumerable string keyed-value pairs for `object` @@ -8506,13 +8047,13 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 197 */ +/* 180 */ /***/ function(module, exports, __webpack_require__) { - var baseToPairs = __webpack_require__(198), - getTag = __webpack_require__(89), - mapToArray = __webpack_require__(65), - setToPairs = __webpack_require__(199); + var baseToPairs = __webpack_require__(181), + getTag = __webpack_require__(80), + mapToArray = __webpack_require__(62), + setToPairs = __webpack_require__(182); /** `Object#toString` result references. */ var mapTag = '[object Map]', @@ -8542,7 +8083,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 198 */ +/* 181 */ /***/ function(module, exports, __webpack_require__) { var arrayMap = __webpack_require__(7); @@ -8566,7 +8107,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 199 */ +/* 182 */ /***/ function(module, exports) { /** @@ -8590,7 +8131,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 200 */ +/* 183 */ /***/ function(module, exports, __webpack_require__) { /* @@ -8636,7 +8177,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CustomRowComponentContainer; /***/ }, -/* 201 */ +/* 184 */ /***/ function(module, exports, __webpack_require__) { /* @@ -8688,7 +8229,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CustomPaginationContainer; /***/ }, -/* 202 */ +/* 185 */ /***/ function(module, exports, __webpack_require__) { /* @@ -8725,11 +8266,11 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CustomFilterContainer; /***/ }, -/* 203 */ +/* 186 */ /***/ function(module, exports, __webpack_require__) { - var baseSlice = __webpack_require__(204), - toInteger = __webpack_require__(129); + var baseSlice = __webpack_require__(187), + toInteger = __webpack_require__(125); /** * Creates a slice of `array` with `n` elements dropped from the beginning. @@ -8757,7 +8298,7 @@ return /******/ (function(modules) { // webpackBootstrap * // => [1, 2, 3] */ function drop(array, n, guard) { - var length = array == null ? 0 : array.length; + var length = array ? array.length : 0; if (!length) { return []; } @@ -8769,7 +8310,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 204 */ +/* 187 */ /***/ function(module, exports) { /** @@ -8806,11 +8347,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 205 */ +/* 188 */ /***/ function(module, exports, __webpack_require__) { - var baseSlice = __webpack_require__(204), - toInteger = __webpack_require__(129); + var baseSlice = __webpack_require__(187), + toInteger = __webpack_require__(125); /** * Creates a slice of `array` with `n` elements dropped from the end. @@ -8838,7 +8379,7 @@ return /******/ (function(modules) { // webpackBootstrap * // => [1, 2, 3] */ function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; + var length = array ? array.length : 0; if (!length) { return []; } @@ -8851,11 +8392,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 206 */ +/* 189 */ /***/ function(module, exports, __webpack_require__) { - var baseSlice = __webpack_require__(204), - toInteger = __webpack_require__(129); + var baseSlice = __webpack_require__(187), + toInteger = __webpack_require__(125); /** * Creates a slice of `array` with `n` elements taken from the beginning. @@ -8894,10 +8435,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 207 */ +/* 190 */ /***/ function(module, exports, __webpack_require__) { - var baseSlice = __webpack_require__(204); + var baseSlice = __webpack_require__(187); /** * Gets all but the last element of `array`. @@ -8914,7 +8455,7 @@ return /******/ (function(modules) { // webpackBootstrap * // => [1, 2] */ function initial(array) { - var length = array == null ? 0 : array.length; + var length = array ? array.length : 0; return length ? baseSlice(array, 0, -1) : []; } @@ -8922,19 +8463,19 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 208 */ +/* 191 */ /***/ function(module, exports, __webpack_require__) { var arrayMap = __webpack_require__(7), - baseIntersection = __webpack_require__(209), - baseRest = __webpack_require__(140), - castArrayLikeObject = __webpack_require__(210); + baseIntersection = __webpack_require__(192), + baseRest = __webpack_require__(136), + castArrayLikeObject = __webpack_require__(193); /** * Creates an array of unique values that are included in all given arrays * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. + * for equality comparisons. The order of result values is determined by the + * order they occur in the first array. * * @static * @memberOf _ @@ -8958,15 +8499,15 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 209 */ +/* 192 */ /***/ function(module, exports, __webpack_require__) { - var SetCache = __webpack_require__(58), - arrayIncludes = __webpack_require__(151), - arrayIncludesWith = __webpack_require__(155), + var SetCache = __webpack_require__(55), + arrayIncludes = __webpack_require__(141), + arrayIncludesWith = __webpack_require__(144), arrayMap = __webpack_require__(7), - baseUnary = __webpack_require__(82), - cacheHas = __webpack_require__(62); + baseUnary = __webpack_require__(88), + cacheHas = __webpack_require__(145); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeMin = Math.min; @@ -9038,10 +8579,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 210 */ +/* 193 */ /***/ function(module, exports, __webpack_require__) { - var isArrayLikeObject = __webpack_require__(156); + var isArrayLikeObject = __webpack_require__(69); /** * Casts `value` to an empty array if it's not an array like object. @@ -9058,17 +8599,19 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 211 */ +/* 194 */ /***/ function(module, exports, __webpack_require__) { - var baseKeys = __webpack_require__(84), - getTag = __webpack_require__(89), - isArguments = __webpack_require__(71), - isArray = __webpack_require__(74), - isArrayLike = __webpack_require__(88), - isBuffer = __webpack_require__(75), - isPrototype = __webpack_require__(85), - isTypedArray = __webpack_require__(79); + var getTag = __webpack_require__(80), + isArguments = __webpack_require__(68), + isArray = __webpack_require__(73), + isArrayLike = __webpack_require__(70), + isBuffer = __webpack_require__(195), + isFunction = __webpack_require__(28), + isObjectLike = __webpack_require__(72), + isPrototype = __webpack_require__(77), + isString = __webpack_require__(75), + nativeKeys = __webpack_require__(78); /** `Object#toString` result references. */ var mapTag = '[object Map]', @@ -9080,6 +8623,12 @@ return /******/ (function(modules) { // webpackBootstrap /** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty; + /** Built-in value references. */ + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + + /** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */ + var nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf'); + /** * Checks if `value` is an empty object, collection, map, or set. * @@ -9114,81 +8663,148 @@ return /******/ (function(modules) { // webpackBootstrap * // => false */ function isEmpty(value) { - if (value == null) { - return true; - } if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { + (isArray(value) || isString(value) || isFunction(value.splice) || + isArguments(value) || isBuffer(value))) { return !value.length; } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; + if (isObjectLike(value)) { + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } } + var isProto = isPrototype(value); for (var key in value) { - if (hasOwnProperty.call(value, key)) { + if (hasOwnProperty.call(value, key) && + !(isProto && key == 'constructor')) { return false; } } - return true; + return !(nonEnumShadows && nativeKeys(value).length); } module.exports = isEmpty; /***/ }, -/* 212 */ -/***/ function(module, exports) { +/* 195 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(33), + stubFalse = __webpack_require__(196); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Built-in value references. */ + var Buffer = moduleExports ? root.Buffer : undefined; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; /** - * Checks if `value` is `null`. + * Checks if `value` is a buffer. * * @static * @memberOf _ - * @since 0.1.0 + * @since 4.3.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. * @example * - * _.isNull(null); + * _.isBuffer(new Buffer(2)); * // => true * - * _.isNull(void 0); + * _.isBuffer(new Uint8Array(2)); * // => false */ - function isNull(value) { - return value === null; - } + var isBuffer = nativeIsBuffer || stubFalse; - module.exports = isNull; + module.exports = isBuffer; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(90)(module))) /***/ }, -/* 213 */ +/* 196 */ /***/ function(module, exports) { /** - * Checks if `value` is `undefined`. + * This method returns `false`. * * @static - * @since 0.1.0 * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. * @example * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ + * _.times(2, _.stubFalse); + * // => [false, false] + */ + function stubFalse() { + return false; + } + + module.exports = stubFalse; + + +/***/ }, +/* 197 */ +/***/ function(module, exports) { + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + module.exports = isNull; + + +/***/ }, +/* 198 */ +/***/ function(module, exports) { + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ function isUndefined(value) { return value === undefined; } @@ -9197,34 +8813,28 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 214 */ +/* 199 */ /***/ function(module, exports, __webpack_require__) { var arrayMap = __webpack_require__(7), - baseClone = __webpack_require__(215), - baseUnset = __webpack_require__(242), - castPath = __webpack_require__(100), - copyObject = __webpack_require__(160), - flatRest = __webpack_require__(167), - getAllKeysIn = __webpack_require__(227); - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; + baseDifference = __webpack_require__(140), + baseFlatten = __webpack_require__(129), + basePick = __webpack_require__(152), + baseRest = __webpack_require__(136), + getAllKeysIn = __webpack_require__(200), + toKey = __webpack_require__(104); /** * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable property paths of `object` that are not omitted. - * - * **Note:** This method is considerably slower than `_.pick`. + * own and inherited enumerable string keyed properties of `object` that are + * not omitted. * * @static * @since 0.1.0 * @memberOf _ * @category Object * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to omit. + * @param {...(string|string[])} [props] The property identifiers to omit. * @returns {Object} Returns the new object. * @example * @@ -9233,338 +8843,110 @@ return /******/ (function(modules) { // webpackBootstrap * _.omit(object, ['a', 'c']); * // => { 'b': '2' } */ - var omit = flatRest(function(object, paths) { - var result = {}; + var omit = baseRest(function(object, props) { if (object == null) { - return result; - } - var isDeep = false; - paths = arrayMap(paths, function(path) { - path = castPath(path, object); - isDeep || (isDeep = path.length > 1); - return path; - }); - copyObject(object, getAllKeysIn(object), result); - if (isDeep) { - result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG); - } - var length = paths.length; - while (length--) { - baseUnset(result, paths[length]); + return {}; } - return result; + props = arrayMap(baseFlatten(props, 1), toKey); + return basePick(object, baseDifference(getAllKeysIn(object), props)); }); module.exports = omit; /***/ }, -/* 215 */ -/***/ function(module, exports, __webpack_require__) { - - var Stack = __webpack_require__(11), - arrayEach = __webpack_require__(183), - assignValue = __webpack_require__(158), - baseAssign = __webpack_require__(216), - baseAssignIn = __webpack_require__(217), - cloneBuffer = __webpack_require__(218), - copyArray = __webpack_require__(219), - copySymbols = __webpack_require__(220), - copySymbolsIn = __webpack_require__(223), - getAllKeys = __webpack_require__(225), - getAllKeysIn = __webpack_require__(227), - getTag = __webpack_require__(89), - initCloneArray = __webpack_require__(228), - initCloneByTag = __webpack_require__(229), - initCloneObject = __webpack_require__(240), - isArray = __webpack_require__(74), - isBuffer = __webpack_require__(75), - isObject = __webpack_require__(35), - keys = __webpack_require__(68); - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - weakMapTag = '[object WeakMap]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = - cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = - cloneableTags[boolTag] = cloneableTags[dateTag] = - cloneableTags[float32Tag] = cloneableTags[float64Tag] = - cloneableTags[int8Tag] = cloneableTags[int16Tag] = - cloneableTags[int32Tag] = cloneableTags[mapTag] = - cloneableTags[numberTag] = cloneableTags[objectTag] = - cloneableTags[regexpTag] = cloneableTags[setTag] = - cloneableTags[stringTag] = cloneableTags[symbolTag] = - cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = - cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = - cloneableTags[weakMapTag] = false; - - /** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, baseClone, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; - } - - module.exports = baseClone; - - -/***/ }, -/* 216 */ +/* 200 */ /***/ function(module, exports, __webpack_require__) { - var copyObject = __webpack_require__(160), - keys = __webpack_require__(68); + var baseGetAllKeys = __webpack_require__(201), + getSymbolsIn = __webpack_require__(202), + keysIn = __webpack_require__(176); /** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. * * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. */ - function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); } - module.exports = baseAssign; + module.exports = getAllKeysIn; /***/ }, -/* 217 */ +/* 201 */ /***/ function(module, exports, __webpack_require__) { - var copyObject = __webpack_require__(160), - keysIn = __webpack_require__(193); + var arrayPush = __webpack_require__(130), + isArray = __webpack_require__(73); /** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. * * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. */ - function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); } - module.exports = baseAssignIn; + module.exports = baseGetAllKeys; /***/ }, -/* 218 */ +/* 202 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(31); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; + var arrayPush = __webpack_require__(130), + getPrototype = __webpack_require__(169), + getSymbols = __webpack_require__(203), + stubArray = __webpack_require__(204); - /** Built-in value references. */ - var Buffer = moduleExports ? root.Buffer : undefined, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeGetSymbols = Object.getOwnPropertySymbols; /** - * Creates a clone of `buffer`. + * Creates an array of the own and inherited enumerable symbol properties + * of `object`. * * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. */ - function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); return result; - } - - module.exports = cloneBuffer; - - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(76)(module))) - -/***/ }, -/* 219 */ -/***/ function(module, exports) { - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - module.exports = copyArray; - - -/***/ }, -/* 220 */ -/***/ function(module, exports, __webpack_require__) { - - var copyObject = __webpack_require__(160), - getSymbols = __webpack_require__(221); - - /** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); - } + }; - module.exports = copySymbols; + module.exports = getSymbolsIn; /***/ }, -/* 221 */ +/* 203 */ /***/ function(module, exports, __webpack_require__) { - var overArg = __webpack_require__(87), - stubArray = __webpack_require__(222); + var overArg = __webpack_require__(79), + stubArray = __webpack_require__(204); /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols; /** - * Creates an array of the own enumerable symbols of `object`. + * Creates an array of the own enumerable symbol properties of `object`. * * @private * @param {Object} object The object to query. @@ -9576,7 +8958,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 222 */ +/* 204 */ /***/ function(module, exports) { /** @@ -9605,630 +8987,11 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 223 */ -/***/ function(module, exports, __webpack_require__) { - - var copyObject = __webpack_require__(160), - getSymbolsIn = __webpack_require__(224); - - /** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); - } - - module.exports = copySymbolsIn; - - -/***/ }, -/* 224 */ -/***/ function(module, exports, __webpack_require__) { - - var arrayPush = __webpack_require__(134), - getPrototype = __webpack_require__(186), - getSymbols = __webpack_require__(221), - stubArray = __webpack_require__(222); - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeGetSymbols = Object.getOwnPropertySymbols; - - /** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; - }; - - module.exports = getSymbolsIn; - - -/***/ }, -/* 225 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGetAllKeys = __webpack_require__(226), - getSymbols = __webpack_require__(221), - keys = __webpack_require__(68); - - /** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); - } - - module.exports = getAllKeys; - - -/***/ }, -/* 226 */ -/***/ function(module, exports, __webpack_require__) { - - var arrayPush = __webpack_require__(134), - isArray = __webpack_require__(74); - - /** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); - } - - module.exports = baseGetAllKeys; - - -/***/ }, -/* 227 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGetAllKeys = __webpack_require__(226), - getSymbolsIn = __webpack_require__(224), - keysIn = __webpack_require__(193); - - /** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - - module.exports = getAllKeysIn; - - -/***/ }, -/* 228 */ -/***/ function(module, exports) { - - /** Used for built-in method references. */ - var objectProto = Object.prototype; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - module.exports = initCloneArray; - - -/***/ }, -/* 229 */ -/***/ function(module, exports, __webpack_require__) { - - var cloneArrayBuffer = __webpack_require__(230), - cloneDataView = __webpack_require__(231), - cloneMap = __webpack_require__(232), - cloneRegExp = __webpack_require__(235), - cloneSet = __webpack_require__(236), - cloneSymbol = __webpack_require__(238), - cloneTypedArray = __webpack_require__(239); - - /** `Object#toString` result references. */ - var boolTag = '[object Boolean]', - dateTag = '[object Date]', - mapTag = '[object Map]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, cloneFunc, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return cloneMap(object, isDeep, cloneFunc); - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return cloneSet(object, isDeep, cloneFunc); - - case symbolTag: - return cloneSymbol(object); - } - } - - module.exports = initCloneByTag; - - -/***/ }, -/* 230 */ -/***/ function(module, exports, __webpack_require__) { - - var Uint8Array = __webpack_require__(64); - - /** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; - } - - module.exports = cloneArrayBuffer; - - -/***/ }, -/* 231 */ -/***/ function(module, exports, __webpack_require__) { - - var cloneArrayBuffer = __webpack_require__(230); - - /** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ - function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); - } - - module.exports = cloneDataView; - - -/***/ }, -/* 232 */ -/***/ function(module, exports, __webpack_require__) { - - var addMapEntry = __webpack_require__(233), - arrayReduce = __webpack_require__(234), - mapToArray = __webpack_require__(65); - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1; - - /** - * Creates a clone of `map`. - * - * @private - * @param {Object} map The map to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned map. - */ - function cloneMap(map, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map); - return arrayReduce(array, addMapEntry, new map.constructor); - } - - module.exports = cloneMap; - - -/***/ }, -/* 233 */ -/***/ function(module, exports) { - - /** - * Adds the key-value `pair` to `map`. - * - * @private - * @param {Object} map The map to modify. - * @param {Array} pair The key-value pair to add. - * @returns {Object} Returns `map`. - */ - function addMapEntry(map, pair) { - // Don't return `map.set` because it's not chainable in IE 11. - map.set(pair[0], pair[1]); - return map; - } - - module.exports = addMapEntry; - - -/***/ }, -/* 234 */ -/***/ function(module, exports) { - - /** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - module.exports = arrayReduce; - - -/***/ }, -/* 235 */ -/***/ function(module, exports) { - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ - function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; - } - - module.exports = cloneRegExp; - - -/***/ }, -/* 236 */ -/***/ function(module, exports, __webpack_require__) { - - var addSetEntry = __webpack_require__(237), - arrayReduce = __webpack_require__(234), - setToArray = __webpack_require__(66); - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1; - - /** - * Creates a clone of `set`. - * - * @private - * @param {Object} set The set to clone. - * @param {Function} cloneFunc The function to clone values. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned set. - */ - function cloneSet(set, isDeep, cloneFunc) { - var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set); - return arrayReduce(array, addSetEntry, new set.constructor); - } - - module.exports = cloneSet; - - -/***/ }, -/* 237 */ -/***/ function(module, exports) { - - /** - * Adds `value` to `set`. - * - * @private - * @param {Object} set The set to modify. - * @param {*} value The value to add. - * @returns {Object} Returns `set`. - */ - function addSetEntry(set, value) { - // Don't return `set.add` because it's not chainable in IE 11. - set.add(value); - return set; - } - - module.exports = addSetEntry; - - -/***/ }, -/* 238 */ -/***/ function(module, exports, __webpack_require__) { - - var Symbol = __webpack_require__(30); - - /** Used to convert symbols to primitives and strings. */ - var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; - - /** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ - function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; - } - - module.exports = cloneSymbol; - - -/***/ }, -/* 239 */ -/***/ function(module, exports, __webpack_require__) { - - var cloneArrayBuffer = __webpack_require__(230); - - /** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ - function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); - } - - module.exports = cloneTypedArray; - - -/***/ }, -/* 240 */ -/***/ function(module, exports, __webpack_require__) { - - var baseCreate = __webpack_require__(241), - getPrototype = __webpack_require__(186), - isPrototype = __webpack_require__(85); - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; - } - - module.exports = initCloneObject; - - -/***/ }, -/* 241 */ -/***/ function(module, exports, __webpack_require__) { - - var isObject = __webpack_require__(35); - - /** Built-in value references. */ - var objectCreate = Object.create; - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - module.exports = baseCreate; - - -/***/ }, -/* 242 */ -/***/ function(module, exports, __webpack_require__) { - - var castPath = __webpack_require__(100), - last = __webpack_require__(243), - parent = __webpack_require__(244), - toKey = __webpack_require__(108); - - /** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ - function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; - } - - module.exports = baseUnset; - - -/***/ }, -/* 243 */ -/***/ function(module, exports) { - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - module.exports = last; - - -/***/ }, -/* 244 */ -/***/ function(module, exports, __webpack_require__) { - - var baseGet = __webpack_require__(99), - baseSlice = __webpack_require__(204); - - /** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ - function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); - } - - module.exports = parent; - - -/***/ }, -/* 245 */ +/* 205 */ /***/ function(module, exports, __webpack_require__) { - var baseOrderBy = __webpack_require__(136), - isArray = __webpack_require__(74); + var baseOrderBy = __webpack_require__(132), + isArray = __webpack_require__(73); /** * This method is like `_.sortBy` except that it allows specifying the sort diff --git a/examples/properties/properties.html b/examples/properties/properties.html index fcc74d73..79696c9b 100644 --- a/examples/properties/properties.html +++ b/examples/properties/properties.html @@ -450,6 +450,30 @@ "description": "A function that should be called when a row has been clicked. The 'gridRow' and event will be passed in as arguments.", "type": "function", "default": "null" + }, + { + "property": "onRowMouseEnter", + "description": "A function that should be called when a mouse entered a row. The 'gridRow' and event will be passed in as arguments.", + "type": "function", + "default": "null" + }, + { + "property": "onRowMouseLeave", + "description": "A function that should be called when a mouse left a row. The 'gridRow' and event will be passed in as arguments.", + "type": "function", + "default": "null" + }, + { + "property": "onRowWillMount", + "description": "A function that should be called before a row was mounted. The 'gridRow' will be passed in as argument.", + "type": "function", + "default": "null" + }, + { + "property": "onRowWillUnmount", + "description": "A function that should be called before a row was unmounted. The 'gridRow' will be passed in as argument.", + "type": "function", + "default": "null" } ]; var DefinitionItem = React.createClass({ diff --git a/modules/gridRow.jsx.js b/modules/gridRow.jsx.js index 58d02808..881d67e6 100644 --- a/modules/gridRow.jsx.js +++ b/modules/gridRow.jsx.js @@ -34,9 +34,23 @@ var GridRow = React.createClass({ "parentRowCollapsedComponent": "▶", "parentRowExpandedComponent": "▼", "onRowClick": null, - "multipleSelectionSettings": null + "multipleSelectionSettings": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null }; }, + componentWillMount: function componentWillMount() { + if (this.props.onRowWillMount !== null && isFunction(this.props.onRowWillMount)) { + this.props.onRowWillMount(this); + } + }, + componentWillUnmount: function componentWillUnmount() { + if (this.props.onRowWillUnmount !== null && isFunction(this.props.onRowWillUnmount)) { + this.props.onRowWillUnmount(this); + } + }, handleClick: function handleClick(e) { if (this.props.onRowClick !== null && isFunction(this.props.onRowClick)) { this.props.onRowClick(this, e); @@ -44,6 +58,16 @@ var GridRow = React.createClass({ this.props.toggleChildren(); } }, + handleMouseEnter: function handleMouseEnter(e) { + if (this.props.onRowMouseEnter !== null && isFunction(this.props.onRowMouseEnter)) { + this.props.onRowMouseEnter(this, e); + } + }, + handleMouseLeave: function handleMouseLeave(e) { + if (this.props.onRowMouseLeave !== null && isFunction(this.props.onRowMouseLeave)) { + this.props.onRowMouseLeave(this, e); + } + }, handleSelectionChange: function handleSelectionChange(e) { //hack to get around warning that's not super useful in this case return; @@ -111,13 +135,13 @@ var GridRow = React.createClass({ if (_this.props.columnSettings.hasColumnMetadata() && typeof meta !== 'undefined' && meta !== null) { if (typeof meta.customComponent !== 'undefined' && meta.customComponent !== null) { var customComponent = React.createElement(meta.customComponent, { data: col[1], rowData: dataView, metadata: meta }); - returnValue = React.createElement('td', { onClick: _this.handleClick, className: meta.cssClassName, key: index, style: columnStyles }, customComponent); + returnValue = React.createElement('td', { onClick: _this.handleClick, onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, className: meta.cssClassName, key: index, style: columnStyles }, customComponent); } else { - returnValue = React.createElement('td', { onClick: _this.handleClick, className: meta.cssClassName, key: index, style: columnStyles }, firstColAppend, _this.formatData(col[1])); + returnValue = React.createElement('td', { onClick: _this.handleClick, onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, className: meta.cssClassName, key: index, style: columnStyles }, firstColAppend, _this.formatData(col[1])); } } - return returnValue || React.createElement('td', { onClick: _this.handleClick, key: index, style: columnStyles }, firstColAppend, col[1]); + return returnValue || React.createElement('td', { onClick: _this.handleClick, onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, key: index, style: columnStyles }, firstColAppend, col[1]); }); // Don't compete with onRowClick, but if no onRowClick function then diff --git a/modules/gridRowContainer.jsx.js b/modules/gridRowContainer.jsx.js index 0619d3c7..52b081c8 100644 --- a/modules/gridRowContainer.jsx.js +++ b/modules/gridRowContainer.jsx.js @@ -24,6 +24,10 @@ var GridRowContainer = React.createClass({ "parentRowCollapsedComponent": "▶", "parentRowExpandedComponent": "▼", "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null, "multipleSelectionSettings": null }; }, @@ -78,7 +82,11 @@ var GridRowContainer = React.createClass({ paddingHeight: that.props.paddingHeight, rowHeight: that.props.rowHeight, onRowClick: that.props.onRowClick, - multipleSelectionSettings: this.props.multipleSelectionSettings })); + onRowMouseEnter: that.props.onRowMouseEnter, + onRowMouseLeave: that.props.onRowMouseLeave, + multipleSelectionSettings: this.props.multipleSelectionSettings, + onRowWillMount: that.props.onRowWillMount, + onRowWillUnmount: that.props.onRowWillUnmount })); var children = null; diff --git a/modules/gridTable.jsx.js b/modules/gridTable.jsx.js index 4cfead26..b1e1fc51 100644 --- a/modules/gridTable.jsx.js +++ b/modules/gridTable.jsx.js @@ -39,7 +39,11 @@ var GridTable = React.createClass({ "parentRowExpandedComponent": "▼", "externalLoadingComponent": null, "externalIsLoading": false, - "onRowClick": null + "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null }; }, getInitialState: function getInitialState() { @@ -159,7 +163,11 @@ var GridTable = React.createClass({ rowHeight: that.props.rowHeight, hasChildren: hasChildren, tableClassName: that.props.className, - onRowClick: that.props.onRowClick + onRowClick: that.props.onRowClick, + onRowMouseEnter: that.props.onRowMouseEnter, + onRowMouseLeave: that.props.onRowMouseLeave, + onRowWillMount: that.props.onRowWillMount, + onRowWillUnmount: that.props.onRowWillUnmount }); }); diff --git a/modules/griddle.jsx.js b/modules/griddle.jsx.js index c9f99bac..12ccacfe 100644 --- a/modules/griddle.jsx.js +++ b/modules/griddle.jsx.js @@ -130,6 +130,10 @@ var Griddle = React.createClass({ "isSubGriddle": false, "enableSort": true, "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null, /* css class names */ "sortAscendingClassName": "sort-ascending", "sortDescendingClassName": "sort-descending", @@ -850,7 +854,11 @@ var Griddle = React.createClass({ externalLoadingComponent: this.props.externalLoadingComponent, externalIsLoading: this.props.externalIsLoading, hasMorePages: hasMorePages, - onRowClick: this.props.onRowClick })); + onRowClick: this.props.onRowClick, + onRowMouseEnter: this.props.onRowMouseEnter, + onRowMouseLeave: this.props.onRowMouseLeave, + onRowWillMount: this.props.onRowWillMount, + onRowWillUnmount: this.props.onRowWillUnmount })); }, getContentSection: function getContentSection(data, cols, meta, pagingContent, hasMorePages, globalData) { if (this.shouldUseCustomGridComponent() && this.props.customGridComponent !== null) { diff --git a/scripts/gridRow.jsx b/scripts/gridRow.jsx index c0ee1bad..915e2b67 100644 --- a/scripts/gridRow.jsx +++ b/scripts/gridRow.jsx @@ -30,7 +30,21 @@ var GridRow = React.createClass({ "parentRowCollapsedComponent": "▶", "parentRowExpandedComponent": "▼", "onRowClick": null, - "multipleSelectionSettings": null + "multipleSelectionSettings": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null + } + }, + componentWillMount: function () { + if (this.props.onRowWillMount !== null && isFunction(this.props.onRowWillMount)) { + this.props.onRowWillMount(this); + } + }, + componentWillUnmount: function () { + if (this.props.onRowWillUnmount !== null && isFunction(this.props.onRowWillUnmount)) { + this.props.onRowWillUnmount(this); } }, handleClick: function(e){ @@ -40,6 +54,16 @@ var GridRow = React.createClass({ this.props.toggleChildren(); } }, + handleMouseEnter: function (e) { + if (this.props.onRowMouseEnter !== null && isFunction(this.props.onRowMouseEnter)) { + this.props.onRowMouseEnter(this, e); + } + }, + handleMouseLeave: function (e) { + if (this.props.onRowMouseLeave !== null && isFunction(this.props.onRowMouseLeave)) { + this.props.onRowMouseLeave(this, e); + } + }, handleSelectionChange: function(e) { //hack to get around warning that's not super useful in this case return; @@ -108,13 +132,13 @@ var GridRow = React.createClass({ if (this.props.columnSettings.hasColumnMetadata() && typeof meta !== 'undefined' && meta !== null) { if (typeof meta.customComponent !== 'undefined' && meta.customComponent !== null) { var customComponent = ; - returnValue = {customComponent}; + returnValue = {customComponent}; } else { - returnValue = {firstColAppend}{this.formatData(col[1])}; + returnValue = {firstColAppend}{this.formatData(col[1])}; } } - return returnValue || ({firstColAppend}{col[1]}); + return returnValue || ({firstColAppend}{col[1]}); }); // Don't compete with onRowClick, but if no onRowClick function then diff --git a/scripts/gridRowContainer.jsx b/scripts/gridRowContainer.jsx index 13740ea3..43b02205 100644 --- a/scripts/gridRowContainer.jsx +++ b/scripts/gridRowContainer.jsx @@ -20,7 +20,11 @@ var GridRowContainer = React.createClass({ "parentRowCollapsedComponent": "▶", "parentRowExpandedComponent": "▼", "onRowClick": null, - "multipleSelectionSettings": null + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null, + "multipleSelectionSettings": null }; }, getInitialState: function(){ @@ -74,7 +78,11 @@ var GridRowContainer = React.createClass({ paddingHeight={that.props.paddingHeight} rowHeight={that.props.rowHeight} onRowClick={that.props.onRowClick} - multipleSelectionSettings={this.props.multipleSelectionSettings} /> + onRowMouseEnter={that.props.onRowMouseEnter} + onRowMouseLeave={that.props.onRowMouseLeave} + multipleSelectionSettings={this.props.multipleSelectionSettings} + onRowWillMount={that.props.onRowWillMount} + onRowWillUnmount={that.props.onRowWillUnmount} /> ); var children = null; diff --git a/scripts/gridTable.jsx b/scripts/gridTable.jsx index 1093e5ae..af89035f 100644 --- a/scripts/gridTable.jsx +++ b/scripts/gridTable.jsx @@ -35,7 +35,11 @@ var GridTable = React.createClass({ "parentRowExpandedComponent": "▼", "externalLoadingComponent": null, "externalIsLoading": false, - "onRowClick": null + "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null } }, getInitialState: function(){ @@ -157,6 +161,10 @@ var GridTable = React.createClass({ hasChildren={hasChildren} tableClassName={that.props.className} onRowClick={that.props.onRowClick} + onRowMouseEnter={that.props.onRowMouseEnter} + onRowMouseLeave={that.props.onRowMouseLeave} + onRowWillMount={that.props.onRowWillMount} + onRowWillUnmount={that.props.onRowWillUnmount} /> ) }); @@ -229,7 +237,7 @@ var GridTable = React.createClass({ paddingBottom: "40px" }; } - + defaultColSpan = this.props.columnSettings.getVisibleColumnCount(); var loadingComponent = this.props.externalLoadingComponent ? diff --git a/scripts/griddle.jsx b/scripts/griddle.jsx index fb2f43d8..abb85c0d 100644 --- a/scripts/griddle.jsx +++ b/scripts/griddle.jsx @@ -116,6 +116,10 @@ var Griddle = React.createClass({ "isSubGriddle": false, "enableSort": true, "onRowClick": null, + "onRowMouseEnter": null, + "onRowMouseLeave": null, + "onRowWillMount": null, + "onRowWillUnmount": null, /* css class names */ "sortAscendingClassName": "sort-ascending", "sortDescendingClassName": "sort-descending", @@ -876,7 +880,11 @@ var Griddle = React.createClass({ externalLoadingComponent={this.props.externalLoadingComponent} externalIsLoading={this.props.externalIsLoading} hasMorePages={hasMorePages} - onRowClick={this.props.onRowClick}/>) + onRowClick={this.props.onRowClick} + onRowMouseEnter={this.props.onRowMouseEnter} + onRowMouseLeave={this.props.onRowMouseLeave} + onRowWillMount={this.props.onRowWillMount} + onRowWillUnmount={this.props.onRowWillUnmount}/>) }, getContentSection: function(data, cols, meta, pagingContent, hasMorePages, globalData){ if(this.shouldUseCustomGridComponent() && this.props.customGridComponent !== null){