diff --git a/dist/fixed-data-table-base.css b/dist/fixed-data-table-base.css index 7a5d8120..e615ff0f 100644 --- a/dist/fixed-data-table-base.css +++ b/dist/fixed-data-table-base.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table-base.min.css b/dist/fixed-data-table-base.min.css index 7a5d8120..e615ff0f 100644 --- a/dist/fixed-data-table-base.min.css +++ b/dist/fixed-data-table-base.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table-style.css b/dist/fixed-data-table-style.css index 0cd433ef..8b30e40c 100644 --- a/dist/fixed-data-table-style.css +++ b/dist/fixed-data-table-style.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table-style.min.css b/dist/fixed-data-table-style.min.css index 0cd433ef..8b30e40c 100644 --- a/dist/fixed-data-table-style.min.css +++ b/dist/fixed-data-table-style.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table.css b/dist/fixed-data-table.css index ec0b9ae4..4de5b13c 100644 --- a/dist/fixed-data-table.css +++ b/dist/fixed-data-table.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table.js b/dist/fixed-data-table.js index f8e2cb91..af8d168d 100644 --- a/dist/fixed-data-table.js +++ b/dist/fixed-data-table.js @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. @@ -18,7 +18,7 @@ exports["FixedDataTable"] = factory(require("react"), require("react-dom")); else root["FixedDataTable"] = factory(root["React"], root["ReactDOM"]); -})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_32__, __WEBPACK_EXTERNAL_MODULE_63__) { +})(this, function(__WEBPACK_EXTERNAL_MODULE_32__, __WEBPACK_EXTERNAL_MODULE_63__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -81,7 +81,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 46); +/******/ return __webpack_require__(__webpack_require__.s = 45); /******/ }) /************************************************************************/ /******/ ([ @@ -91,15 +91,15 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule React +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule React */ module.exports = __webpack_require__(32); @@ -109,10 +109,12 @@ module.exports = __webpack_require__(32); /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. */ if (process.env.NODE_ENV !== 'production') { @@ -148,15 +150,15 @@ if (process.env.NODE_ENV !== 'production') { var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule cx +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule cx */ var slashReplaceRegex = /\//g; @@ -171,20 +173,20 @@ function getClassName(className) { return cache[className]; } -/** - * This function is used to mark string literals representing CSS class names - * so that they can be transformed statically. This allows for modularization - * and minification of CSS class names. - * - * In static_upstream, this function is actually implemented, but it should - * eventually be replaced with something more descriptive, and the transform - * that is used in the main stack should be ported for use elsewhere. - * - * @param string|object className to modularize, or an object of key/values. - * In the object case, the values are conditions that - * determine if the className keys should be included. - * @param [string ...] Variable list of classNames in the string case. - * @return string Renderable space-separated CSS className. +/** + * This function is used to mark string literals representing CSS class names + * so that they can be transformed statically. This allows for modularization + * and minification of CSS class names. + * + * In static_upstream, this function is actually implemented, but it should + * eventually be replaced with something more descriptive, and the transform + * that is used in the main stack should be ported for use elsewhere. + * + * @param string|object className to modularize, or an object of key/values. + * In the object case, the values are conditions that + * determine if the className keys should be included. + * @param [string ...] Variable list of classNames in the string case. + * @return string Renderable space-separated CSS className. */ function cx(classNames) { var classNamesArray; @@ -207,17 +209,19 @@ module.exports = cx; "use strict"; /** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * */ var React = __webpack_require__(32); -var factory = __webpack_require__(49); +var factory = __webpack_require__(48); if (typeof React === 'undefined') { throw Error( @@ -433,15 +437,15 @@ process.umask = function() { return 0; }; "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule emptyFunction +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule emptyFunction */ function makeEmptyFunction(arg) { @@ -450,10 +454,10 @@ function makeEmptyFunction(arg) { }; } -/** - * This function accepts and discards inputs; it has no side effects. This is - * primarily useful idiomatically for overridable function endpoints which - * always need to be callable, since JS lacks a null-call idiom ala Cocoa. +/** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ function emptyFunction() {} @@ -502,32 +506,32 @@ module.exports = g; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule invariant +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule invariant */ -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. */ var invariant = function invariant(condition, format, a, b, c, d, e, f) { - if (false) { + if (true) { if (format === undefined) { throw new Error('invariant requires an error message argument'); } @@ -557,26 +561,26 @@ module.exports = invariant; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule joinClasses - * @typechecks static-only +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule joinClasses + * @typechecks static-only */ -/** - * Combines multiple className strings into one. - * http://jsperf.com/joinclasses-args-vs-array - * - * @param {...?string} className - * @return {string} +/** + * Combines multiple className strings into one. + * http://jsperf.com/joinclasses-args-vs-array + * + * @param {...?string} className + * @return {string} */ function joinClasses(className /*, ... */) { @@ -605,9 +609,11 @@ module.exports = joinClasses; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * */ @@ -663,25 +669,25 @@ module.exports = invariant; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactComponentWithPureRenderMixin +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactComponentWithPureRenderMixin */ -/** - * Performs equality by iterating through keys on an object and returning - * false when any key has values which are not strictly equal between - * objA and objB. Returns true when the values of all keys are strictly equal. - * - * @return {boolean} +/** + * Performs equality by iterating through keys on an object and returning + * false when any key has values which are not strictly equal between + * objA and objB. Returns true when the values of all keys are strictly equal. + * + * @return {boolean} */ function shallowEqual(objA, objB) { @@ -704,29 +710,29 @@ function shallowEqual(objA, objB) { return true; } -/** - * If your React component's render function is "pure", e.g. it will render the - * same result given the same props and state, provide this Mixin for a - * considerable performance boost. - * - * Most React components have pure render functions. - * - * Example: - * - * var ReactComponentWithPureRenderMixin = - * require('ReactComponentWithPureRenderMixin'); - * React.createClass({ - * mixins: [ReactComponentWithPureRenderMixin], - * - * render: function() { - * return
foo
; - * } - * }); - * - * Note: This only checks shallow equality for props and state. If these contain - * complex data structures this mixin may have false-negatives for deeper - * differences. Only mixin to components which have simple props and state, or - * use `forceUpdate()` when you know deep data structures have changed. +/** + * If your React component's render function is "pure", e.g. it will render the + * same result given the same props and state, provide this Mixin for a + * considerable performance boost. + * + * Most React components have pure render functions. + * + * Example: + * + * var ReactComponentWithPureRenderMixin = + * require('ReactComponentWithPureRenderMixin'); + * React.createClass({ + * mixins: [ReactComponentWithPureRenderMixin], + * + * render: function() { + * return
foo
; + * } + * }); + * + * Note: This only checks shallow equality for props and state. If these contain + * complex data structures this mixin may have false-negatives for deeper + * differences. Only mixin to components which have simple props and state, or + * use `forceUpdate()` when you know deep data structures have changed. */ var ReactComponentWithPureRenderMixin = { shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) { @@ -758,16 +764,16 @@ function FixedDataTableTranslateDOMPosition( /*object*/style, /*number*/x, /*num } else { (0, _translateDOMPositionXY2.default)(style, x, y); } -} /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableTranslateDOMPosition - * @typechecks +} /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableTranslateDOMPosition + * @typechecks */ module.exports = FixedDataTableTranslateDOMPosition; @@ -779,24 +785,24 @@ module.exports = FixedDataTableTranslateDOMPosition; "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule clamp - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule clamp + * @typechecks */ -/** - * Clamps (or clips or confines) the value to be between min and max. - * @param {number} value - * @param {number} min - * @param {number} max - * @return {number} +/** + * Clamps (or clips or confines) the value to be between min and max. + * @param {number} value + * @param {number} min + * @param {number} max + * @return {number} */ function clamp(value, min, max) { if (value < min) { @@ -888,10 +894,12 @@ module.exports = clamp; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2014-present, Facebook, Inc. + * Copyright 2014-2015, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * */ @@ -960,9 +968,11 @@ module.exports = warning; /** * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * * */ @@ -999,10 +1009,12 @@ module.exports = emptyFunction; "use strict"; /** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. */ @@ -1029,22 +1041,22 @@ var _nativeRequestAnimationFrame2 = _interopRequireDefault(_nativeRequestAnimati function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule requestAnimationFramePolyfill +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule requestAnimationFramePolyfill */ var lastTime = 0; -/** - * Here is the native and polyfill version of requestAnimationFrame. - * Please don't use it directly and use requestAnimationFrame module instead. +/** + * Here is the native and polyfill version of requestAnimationFrame. + * Please don't use it directly and use requestAnimationFrame module instead. */ var requestAnimationFrame = _nativeRequestAnimationFrame2.default || function (callback) { var currTime = Date.now(); @@ -1066,23 +1078,23 @@ module.exports = requestAnimationFrame; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * This class listens to events on the document and then updates a react - * component through callbacks. - * Please note that captureMouseMove must be called in - * order to initialize listeners on mousemove and mouseup. - * releaseMouseMove must be called to remove them. It is important to - * call releaseMouseMoves since mousemove is expensive to listen to. - * - * @providesModule DOMMouseMoveTracker - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * This class listens to events on the document and then updates a react + * component through callbacks. + * Please note that captureMouseMove must be called in + * order to initialize listeners on mousemove and mouseup. + * releaseMouseMove must be called to remove them. It is important to + * call releaseMouseMoves since mousemove is expensive to listen to. + * + * @providesModule DOMMouseMoveTracker + * @typechecks */ @@ -1110,9 +1122,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var DOMMouseMoveTracker = function () { - /** - * onMove is the callback that will be called on every mouse move. - * onMoveEnd is called on mouse up when movement has ended. + /** + * onMove is the callback that will be called on every mouse move. + * onMoveEnd is called on mouse up when movement has ended. */ function DOMMouseMoveTracker( /*function*/onMove, @@ -1133,11 +1145,11 @@ var DOMMouseMoveTracker = function () { this._didMouseMove = this._didMouseMove.bind(this); } - /** - * This is to set up the listeners for listening to mouse move - * and mouse up signaling the movement has ended. Please note that these - * listeners are added at the document.body level. It takes in an event - * in order to grab inital state. + /** + * This is to set up the listeners for listening to mouse move + * and mouse up signaling the movement has ended. Please note that these + * listeners are added at the document.body level. It takes in an event + * in order to grab inital state. */ @@ -1169,8 +1181,8 @@ var DOMMouseMoveTracker = function () { event.preventDefault(); } - /** - * This releases all of the listeners on document.body. + /** + * This releases all of the listeners on document.body. */ }, { @@ -1206,8 +1218,8 @@ var DOMMouseMoveTracker = function () { } } - /** - * Returns whether or not if the mouse movement is being tracked. + /** + * Returns whether or not if the mouse movement is being tracked. */ }, { @@ -1216,8 +1228,8 @@ var DOMMouseMoveTracker = function () { return this._isDragging; } - /** - * Calls onMove passed into constructor and updates internal state. + /** + * Calls onMove passed into constructor and updates internal state. */ }, { @@ -1249,8 +1261,8 @@ var DOMMouseMoveTracker = function () { this._deltaY = 0; } - /** - * Calls onMoveEnd passed into constructor and updates internal state. + /** + * Calls onMoveEnd passed into constructor and updates internal state. */ }, { @@ -1262,8 +1274,8 @@ var DOMMouseMoveTracker = function () { this._onMoveEnd(false); } - /** - * Calls onMoveEnd passed into the constructor, updates internal state, and cancels the move. + /** + * Calls onMoveEnd passed into the constructor, updates internal state, and cancels the move. */ }, { @@ -1283,22 +1295,22 @@ module.exports = DOMMouseMoveTracker; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableEventHelper - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableEventHelper + * @typechecks */ -/** - * Gets the horizontal and vertical coordinates from a mouse or touch event. +/** + * Gets the horizontal and vertical coordinates from a mouse or touch event. */ function getCoordinatesFromEvent( /*object*/event) /*object*/{ @@ -1330,15 +1342,15 @@ module.exports = FixedDataTableEventHelper; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule Locale +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Locale */ @@ -1367,116 +1379,19 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_32__; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - - -/* eslint-disable no-unused-vars */ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - - -/***/ }), -/* 34 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * This is utility that handles onWheel events and calls provided wheel - * callback with correct frame rate. - * - * @providesModule ReactWheelHandler - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * This is utility that handles onWheel events and calls provided wheel + * callback with correct frame rate. + * + * @providesModule ReactWheelHandler + * @typechecks */ @@ -1500,11 +1415,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var ReactWheelHandler = function () { - /** - * onWheel is the callback that will be called with right frame rate if - * any wheel events happened - * onWheel should is to be called with two arguments: deltaX and deltaY in - * this order + /** + * onWheel is the callback that will be called with right frame rate if + * any wheel events happened + * onWheel should is to be called with two arguments: deltaX and deltaY in + * this order */ function ReactWheelHandler( /*function*/onWheel, @@ -1602,19 +1517,19 @@ var ReactWheelHandler = function () { module.exports = ReactWheelHandler; /***/ }), -/* 35 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ExecutionEnvironment +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ExecutionEnvironment */ /*jslint evil: true */ @@ -1623,11 +1538,11 @@ module.exports = ReactWheelHandler; var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); -/** - * Simple, lightweight module assisting with the detection and context of - * Worker. Helps avoid circular dependencies and allows code to reason about - * whether or not they are in a Worker, even if they never include the main - * `ReactWorker` dependency. +/** + * Simple, lightweight module assisting with the detection and context of + * Worker. Helps avoid circular dependencies and allows code to reason about + * whether or not they are in a Worker, even if they never include the main + * `ReactWorker` dependency. */ var ExecutionEnvironment = { @@ -1646,7 +1561,7 @@ var ExecutionEnvironment = { module.exports = ExecutionEnvironment; /***/ }), -/* 36 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1680,7 +1595,7 @@ var _ReactComponentWithPureRenderMixin = __webpack_require__(10); var _ReactComponentWithPureRenderMixin2 = _interopRequireDefault(_ReactComponentWithPureRenderMixin); -var _ReactWheelHandler = __webpack_require__(34); +var _ReactWheelHandler = __webpack_require__(33); var _ReactWheelHandler2 = _interopRequireDefault(_ReactWheelHandler); @@ -1702,16 +1617,16 @@ var _FixedDataTableTranslateDOMPosition2 = _interopRequireDefault(_FixedDataTabl function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule Scrollbar - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Scrollbar + * @typechecks */ var UNSCROLLABLE_STATE = { @@ -2120,13 +2035,13 @@ Scrollbar.OFFSET = 1; module.exports = Scrollbar; /***/ }), -/* 37 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _ExecutionEnvironment = __webpack_require__(35); +var _ExecutionEnvironment = __webpack_require__(34); var _ExecutionEnvironment2 = _interopRequireDefault(_ExecutionEnvironment); @@ -2140,16 +2055,16 @@ var _invariant2 = _interopRequireDefault(_invariant); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var memoized = {}; /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule getVendorPrefixedName - * @typechecks +var memoized = {}; /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule getVendorPrefixedName + * @typechecks */ var prefixes = ['Webkit', 'ms', 'Moz', 'O']; @@ -2166,10 +2081,10 @@ function getWithPrefix(name) { return null; } -/** - * @param {string} property Name of a css property to check for. - * @return {?string} property name supported in the browser, or null if not - * supported. +/** + * @param {string} property Name of a css property to check for. + * @return {?string} property name supported in the browser, or null if not + * supported. */ function getVendorPrefixedName(property) { var name = (0, _camelize2.default)(property); @@ -2186,20 +2101,20 @@ function getVendorPrefixedName(property) { module.exports = getVendorPrefixedName; /***/ }), -/* 38 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableRow - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableRow + * @typechecks */ @@ -2220,7 +2135,7 @@ var _FixedDataTableCellGroup = __webpack_require__(72); var _FixedDataTableCellGroup2 = _interopRequireDefault(_FixedDataTableCellGroup); -var _Scrollbar = __webpack_require__(36); +var _Scrollbar = __webpack_require__(35); var _Scrollbar2 = _interopRequireDefault(_Scrollbar); @@ -2247,10 +2162,10 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" // .fixedDataTableLayout/header border-bottom-width var HEADER_BORDER_BOTTOM_WIDTH = 1; -/** - * Component that renders the row for . - * This component should not be used directly by developer. Instead, - * only should use the component internally. +/** + * Component that renders the row for . + * This component should not be used directly by developer. Instead, + * only should use the component internally. */ var FixedDataTableRowImpl = function (_React$Component) { @@ -2329,10 +2244,10 @@ var FixedDataTableRowImpl = function (_React$Component) { }, _this._onMouseDown = function ( /*object*/event) { _this.props.onMouseDown(event, _this.props.index); }, _this._onMouseEnter = function ( /*object*/event) { - /** - * This is necessary so that onMouseLeave is fired with the initial - * row index since this row could be updated with a different index - * when scrolling. + /** + * This is necessary so that onMouseLeave is fired with the initial + * row index since this row could be updated with a different index + * when scrolling. */ _this.mouseLeaveIndex = _this.props.index; if (_this.props.onMouseEnter) { @@ -2353,8 +2268,8 @@ var FixedDataTableRowImpl = function (_React$Component) { }, _temp), _possibleConstructorReturn(_this, _ret); } - /** - * The index of a row for which to fire the onMouseLeave event. + /** + * The index of a row for which to fire the onMouseLeave event. */ @@ -2503,105 +2418,105 @@ FixedDataTableRowImpl.propTypes = { isScrolling: _propTypes2.default.bool, - /** - * Array of for the fixed columns. + /** + * Array of for the fixed columns. */ fixedColumns: _propTypes2.default.array.isRequired, - /** - * Array of for the fixed columns positioned at end of the table. + /** + * Array of for the fixed columns positioned at end of the table. */ fixedRightColumns: _propTypes2.default.array.isRequired, - /** - * Height of the row. + /** + * Height of the row. */ height: _propTypes2.default.number.isRequired, - /** - * Height of fixedDataTableCellGroupLayout/cellGroupWrapper. + /** + * Height of fixedDataTableCellGroupLayout/cellGroupWrapper. */ cellGroupWrapperHeight: _propTypes2.default.number, - /** - * Height of the content to be displayed below the row. + /** + * Height of the content to be displayed below the row. */ subRowHeight: _propTypes2.default.number, - /** - * the row expanded. + /** + * the row expanded. */ rowExpanded: _propTypes2.default.oneOfType([_propTypes2.default.element, _propTypes2.default.func]), - /** - * The row index. + /** + * The row index. */ index: _propTypes2.default.number.isRequired, - /** - * Array of for the scrollable columns. + /** + * Array of for the scrollable columns. */ scrollableColumns: _propTypes2.default.array.isRequired, - /** - * The distance between the left edge of the table and the leftmost portion - * of the row currently visible in the table. + /** + * The distance between the left edge of the table and the leftmost portion + * of the row currently visible in the table. */ scrollLeft: _propTypes2.default.number.isRequired, - /** - * Width of the row. + /** + * Width of the row. */ width: _propTypes2.default.number.isRequired, - /** - * Fire when a row is clicked. + /** + * Fire when a row is clicked. */ onClick: _propTypes2.default.func, - /** - * Fire when a row is double clicked. + /** + * Fire when a row is double clicked. */ onDoubleClick: _propTypes2.default.func, - /** - * Fire when a contextual-menu is requested above a row. + /** + * Fire when a contextual-menu is requested above a row. */ onContextMenu: _propTypes2.default.func, - /** - * Callback for when resizer knob (in FixedDataTableCell) is clicked - * to initialize resizing. Please note this is only on the cells - * in the header. - * @param number combinedWidth - * @param number leftOffset - * @param number cellWidth - * @param number|string columnKey - * @param object event + /** + * Callback for when resizer knob (in FixedDataTableCell) is clicked + * to initialize resizing. Please note this is only on the cells + * in the header. + * @param number combinedWidth + * @param number leftOffset + * @param number cellWidth + * @param number|string columnKey + * @param object event */ onColumnResize: _propTypes2.default.func, isColumnReordering: _propTypes2.default.bool, - /** - * Callback for when reorder handle (in FixedDataTableCell) is clicked - * to initialize reordering. Please note this is only on the cells - * in the header. - * @param number|string columnKey - * @param number cellWidth - * @param number leftOffset - * @param object event + /** + * Callback for when reorder handle (in FixedDataTableCell) is clicked + * to initialize reordering. Please note this is only on the cells + * in the header. + * @param number|string columnKey + * @param number cellWidth + * @param number leftOffset + * @param object event */ onColumnReorder: _propTypes2.default.func, - /** - * Callback for when a cell is moved while reordering. - * @param number distance + /** + * Callback for when a cell is moved while reordering. + * @param number distance */ onColumnReorderMove: _propTypes2.default.func, - /** - * Callback for when the mouse is released to complete reordering. - * @param number distance + /** + * Callback for when the mouse is released to complete reordering. + * @param number distance */ onColumnReorderEnd: _propTypes2.default.func, @@ -2657,24 +2572,24 @@ FixedDataTableRow.propTypes = { isScrolling: _propTypes2.default.bool, - /** - * Height of the row. + /** + * Height of the row. */ height: _propTypes2.default.number.isRequired, - /** - * Z-index on which the row will be displayed. Used e.g. for keeping - * header and footer in front of other rows. + /** + * Z-index on which the row will be displayed. Used e.g. for keeping + * header and footer in front of other rows. */ zIndex: _propTypes2.default.number, - /** - * The vertical position where the row should render itself + /** + * The vertical position where the row should render itself */ offsetTop: _propTypes2.default.number.isRequired, - /** - * Width of the row. + /** + * Width of the row. */ width: _propTypes2.default.number.isRequired }; @@ -2683,20 +2598,20 @@ FixedDataTableRow.propTypes = { module.exports = FixedDataTableRow; /***/ }), -/* 39 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableHelper - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableHelper + * @typechecks */ @@ -2709,11 +2624,11 @@ var _React = __webpack_require__(0); var _React2 = _interopRequireDefault(_React); -var _FixedDataTableColumnGroup = __webpack_require__(40); +var _FixedDataTableColumnGroup = __webpack_require__(39); var _FixedDataTableColumnGroup2 = _interopRequireDefault(_FixedDataTableColumnGroup); -var _FixedDataTableColumn = __webpack_require__(41); +var _FixedDataTableColumn = __webpack_require__(40); var _FixedDataTableColumn2 = _interopRequireDefault(_FixedDataTableColumn); @@ -2731,13 +2646,13 @@ function renderToString(value) /*string*/{ } } -/** - * Helper method to execute a callback against all columns given the children - * of a table. - * @param {?object|array} children - * Children of a table. - * @param {function} callback - * Function to excecute for each column. It is passed the column. +/** + * Helper method to execute a callback against all columns given the children + * of a table. + * @param {?object|array} children + * Children of a table. + * @param {function} callback + * Function to excecute for each column. It is passed the column. */ function forEachColumn(children, callback) { _React2.default.Children.forEach(children, function (child) { @@ -2749,14 +2664,14 @@ function forEachColumn(children, callback) { }); } -/** - * Helper method to map columns to new columns. This takes into account column - * groups and will generate a new column group if its columns change. - * @param {?object|array} children - * Children of a table. - * @param {function} callback - * Function to excecute for each column. It is passed the column and should - * return a result column. +/** + * Helper method to map columns to new columns. This takes into account column + * groups and will generate a new column group if its columns change. + * @param {?object|array} children + * Children of a table. + * @param {function} callback + * Function to excecute for each column. It is passed the column and should + * return a result column. */ function mapColumns(children, callback) { var newChildren = []; @@ -2806,7 +2721,7 @@ var FixedDataTableHelper = { module.exports = FixedDataTableHelper; /***/ }), -/* 40 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2828,20 +2743,20 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableColumnGroup - * @typechecks +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableColumnGroup + * @typechecks */ -/** - * Component that defines the attributes of a table column group. +/** + * Component that defines the attributes of a table column group. */ var FixedDataTableColumnGroup = function (_React$Component) { _inherits(FixedDataTableColumnGroup, _React$Component); @@ -2855,7 +2770,7 @@ var FixedDataTableColumnGroup = function (_React$Component) { _createClass(FixedDataTableColumnGroup, [{ key: 'render', value: function render() { - if (false) { + if (true) { throw new Error('Component should never render'); } return null; @@ -2867,34 +2782,34 @@ var FixedDataTableColumnGroup = function (_React$Component) { FixedDataTableColumnGroup.__TableColumnGroup__ = true; FixedDataTableColumnGroup.propTypes = { - /** - * The horizontal alignment of the table cell content. + /** + * The horizontal alignment of the table cell content. */ align: _propTypes2.default.oneOf(['left', 'center', 'right']), - /** - * Controls if the column group is fixed when scrolling in the X axis. + /** + * Controls if the column group is fixed when scrolling in the X axis. */ fixed: _propTypes2.default.bool, - /** - * This is the header cell for this column group. - * This can either be a string or a React element. Passing in a string - * will render a default footer cell with that string. By default, the React - * element passed in can expect to receive the following props: - * - * ``` - * props: { - * height: number // (supplied from the groupHeaderHeight) - * width: number // (supplied from the Column) - * } - * ``` - * - * Because you are passing in your own React element, you can feel free to - * pass in whatever props you may want or need. - * - * You can also pass in a function that returns a react elemnt, with the - * props object above passed in as the first parameter. + /** + * This is the header cell for this column group. + * This can either be a string or a React element. Passing in a string + * will render a default footer cell with that string. By default, the React + * element passed in can expect to receive the following props: + * + * ``` + * props: { + * height: number // (supplied from the groupHeaderHeight) + * width: number // (supplied from the Column) + * } + * ``` + * + * Because you are passing in your own React element, you can feel free to + * pass in whatever props you may want or need. + * + * You can also pass in a function that returns a react elemnt, with the + * props object above passed in as the first parameter. */ header: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]) @@ -2907,7 +2822,7 @@ FixedDataTableColumnGroup.defaultProps = { module.exports = FixedDataTableColumnGroup; /***/ }), -/* 41 */ +/* 40 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2929,20 +2844,20 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableColumn - * @typechecks +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableColumn + * @typechecks */ -/** - * Component that defines the attributes of table column. +/** + * Component that defines the attributes of table column. */ var FixedDataTableColumn = function (_React$Component) { _inherits(FixedDataTableColumn, _React$Component); @@ -2956,7 +2871,7 @@ var FixedDataTableColumn = function (_React$Component) { _createClass(FixedDataTableColumn, [{ key: 'render', value: function render() { - if (false) { + if (true) { throw new Error('Component should never render'); } return null; @@ -2968,152 +2883,152 @@ var FixedDataTableColumn = function (_React$Component) { FixedDataTableColumn.__TableColumn__ = true; FixedDataTableColumn.propTypes = { - /** - * The horizontal alignment of the table cell content. + /** + * The horizontal alignment of the table cell content. */ align: _propTypes2.default.oneOf(['left', 'center', 'right']), - /** - * Controls if the column is fixed when scrolling in the X axis. + /** + * Controls if the column is fixed when scrolling in the X axis. */ fixed: _propTypes2.default.bool, - /** - * Controls if the column is fixed to the right side of the table when scrolling in the X axis. + /** + * Controls if the column is fixed to the right side of the table when scrolling in the X axis. */ fixedRight: _propTypes2.default.bool, - /** - * The header cell for this column. - * This can either be a string a React element, or a function that generates - * a React Element. Passing in a string will render a default header cell - * with that string. By default, the React element passed in can expect to - * receive the following props: - * - * ``` - * props: { - * columnKey: string // (of the column, if given) - * height: number // (supplied from the Table or rowHeightGetter) - * width: number // (supplied from the Column) - * } - * ``` - * - * Because you are passing in your own React element, you can feel free to - * pass in whatever props you may want or need. - * - * If you pass in a function, you will receive the same props object as the - * first argument. + /** + * The header cell for this column. + * This can either be a string a React element, or a function that generates + * a React Element. Passing in a string will render a default header cell + * with that string. By default, the React element passed in can expect to + * receive the following props: + * + * ``` + * props: { + * columnKey: string // (of the column, if given) + * height: number // (supplied from the Table or rowHeightGetter) + * width: number // (supplied from the Column) + * } + * ``` + * + * Because you are passing in your own React element, you can feel free to + * pass in whatever props you may want or need. + * + * If you pass in a function, you will receive the same props object as the + * first argument. */ header: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]), - /** - * This is the body cell that will be cloned for this column. - * This can either be a string a React element, or a function that generates - * a React Element. Passing in a string will render a default header cell - * with that string. By default, the React element passed in can expect to - * receive the following props: - * - * ``` - * props: { - * rowIndex; number // (the row index of the cell) - * columnKey: string // (of the column, if given) - * height: number // (supplied from the Table or rowHeightGetter) - * width: number // (supplied from the Column) - * } - * ``` - * - * Because you are passing in your own React element, you can feel free to - * pass in whatever props you may want or need. - * - * If you pass in a function, you will receive the same props object as the - * first argument. + /** + * This is the body cell that will be cloned for this column. + * This can either be a string a React element, or a function that generates + * a React Element. Passing in a string will render a default header cell + * with that string. By default, the React element passed in can expect to + * receive the following props: + * + * ``` + * props: { + * rowIndex; number // (the row index of the cell) + * columnKey: string // (of the column, if given) + * height: number // (supplied from the Table or rowHeightGetter) + * width: number // (supplied from the Column) + * } + * ``` + * + * Because you are passing in your own React element, you can feel free to + * pass in whatever props you may want or need. + * + * If you pass in a function, you will receive the same props object as the + * first argument. */ cell: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]), - /** - * This is the footer cell for this column. - * This can either be a string a React element, or a function that generates - * a React Element. Passing in a string will render a default header cell - * with that string. By default, the React element passed in can expect to - * receive the following props: - * - * ``` - * props: { - * columnKey: string // (of the column, if given) - * height: number // (supplied from the Table or rowHeightGetter) - * width: number // (supplied from the Column) - * } - * ``` - * - * Because you are passing in your own React element, you can feel free to - * pass in whatever props you may want or need. - * - * If you pass in a function, you will receive the same props object as the - * first argument. + /** + * This is the footer cell for this column. + * This can either be a string a React element, or a function that generates + * a React Element. Passing in a string will render a default header cell + * with that string. By default, the React element passed in can expect to + * receive the following props: + * + * ``` + * props: { + * columnKey: string // (of the column, if given) + * height: number // (supplied from the Table or rowHeightGetter) + * width: number // (supplied from the Column) + * } + * ``` + * + * Because you are passing in your own React element, you can feel free to + * pass in whatever props you may want or need. + * + * If you pass in a function, you will receive the same props object as the + * first argument. */ footer: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]), - /** - * This is used to uniquely identify the column, and is not required unless - * you a resizing columns. This will be the key given in the - * `onColumnResizeEndCallback` on the Table. + /** + * This is used to uniquely identify the column, and is not required unless + * you a resizing columns. This will be the key given in the + * `onColumnResizeEndCallback` on the Table. */ columnKey: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - /** - * The pixel width of the column. + /** + * The pixel width of the column. */ width: _propTypes2.default.number.isRequired, - /** - * If this is a resizable column this is its minimum pixel width. + /** + * If this is a resizable column this is its minimum pixel width. */ minWidth: _propTypes2.default.number, - /** - * If this is a resizable column this is its maximum pixel width. + /** + * If this is a resizable column this is its maximum pixel width. */ maxWidth: _propTypes2.default.number, - /** - * The grow factor relative to other columns. Same as the flex-grow API - * from http://www.w3.org/TR/css3-flexbox/. Basically, take any available - * extra width and distribute it proportionally according to all columns' - * flexGrow values. Defaults to zero (no-flexing). + /** + * The grow factor relative to other columns. Same as the flex-grow API + * from http://www.w3.org/TR/css3-flexbox/. Basically, take any available + * extra width and distribute it proportionally according to all columns' + * flexGrow values. Defaults to zero (no-flexing). */ flexGrow: _propTypes2.default.number, - /** - * Whether the column can be resized with the - * FixedDataTableColumnResizeHandle. Please note that if a column - * has a flex grow, once you resize the column this will be set to 0. - * - * This property only provides the UI for the column resizing. If this - * is set to true, you will need to set the onColumnResizeEndCallback table - * property and render your columns appropriately. + /** + * Whether the column can be resized with the + * FixedDataTableColumnResizeHandle. Please note that if a column + * has a flex grow, once you resize the column this will be set to 0. + * + * This property only provides the UI for the column resizing. If this + * is set to true, you will need to set the onColumnResizeEndCallback table + * property and render your columns appropriately. */ isResizable: _propTypes2.default.bool, - /** - * Whether the column can be dragged to reorder. + /** + * Whether the column can be dragged to reorder. */ isReorderable: _propTypes2.default.bool, - /** - * Whether cells in this column can be removed from document when outside - * of viewport as a result of horizontal scrolling. - * Setting this property to true allows the table to not render cells in - * particular column that are outside of viewport for visible rows. This - * allows to create table with many columns and not have vertical scrolling - * performance drop. - * Setting the property to false will keep previous behaviour and keep - * cell rendered if the row it belongs to is visible. + /** + * Whether cells in this column can be removed from document when outside + * of viewport as a result of horizontal scrolling. + * Setting this property to true allows the table to not render cells in + * particular column that are outside of viewport for visible rows. This + * allows to create table with many columns and not have vertical scrolling + * performance drop. + * Setting the property to false will keep previous behaviour and keep + * cell rendered if the row it belongs to is visible. */ allowCellsRecycling: _propTypes2.default.bool, - /** - * Flag to enable performance check when rendering. Stops the component from - * rendering if none of it's passed in props have changed + /** + * Flag to enable performance check when rendering. Stops the component from + * rendering if none of it's passed in props have changed */ pureRendering: _propTypes2.default.bool }; @@ -3127,7 +3042,7 @@ FixedDataTableColumn.defaultProps = { module.exports = FixedDataTableColumn; /***/ }), -/* 42 */ +/* 41 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3161,40 +3076,40 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableCellDefault - * @typechecks +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableCellDefault + * @typechecks */ -/** - * Component that handles default cell layout and styling. - * - * All props unless specified below will be set onto the top level `div` - * rendered by the cell. - * - * Example usage via from a `Column`: - * ``` - * const MyColumn = ( - * ( - * - * Cell number: {rowIndex} -* - * )} - * width={100} - * /> - * ); - * ``` +/** + * Component that handles default cell layout and styling. + * + * All props unless specified below will be set onto the top level `div` + * rendered by the cell. + * + * Example usage via from a `Column`: + * ``` + * const MyColumn = ( + * ( + * + * Cell number: {rowIndex} +* + * )} + * width={100} + * /> + * ); + * ``` */ var FixedDataTableCellDefault = function (_React$Component) { _inherits(FixedDataTableCellDefault, _React$Component); @@ -3253,29 +3168,29 @@ var FixedDataTableCellDefault = function (_React$Component) { FixedDataTableCellDefault.propTypes = { - /** - * Outer height of the cell. + /** + * Outer height of the cell. */ height: _propTypes2.default.number, - /** - * Outer width of the cell. + /** + * Outer width of the cell. */ width: _propTypes2.default.number, - /** - * Optional prop that if specified on the `Column` will be passed to the - * cell. It can be used to uniquely identify which column is the cell is in. + /** + * Optional prop that if specified on the `Column` will be passed to the + * cell. It can be used to uniquely identify which column is the cell is in. */ columnKey: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - /** - * Optional prop that represents the rows index in the table. - * For the 'cell' prop of a Column, this parameter will exist for any - * cell in a row with a positive index. - * - * Below that entry point the user is welcome to consume or - * pass the prop through at their discretion. + /** + * Optional prop that represents the rows index in the table. + * For the 'cell' prop of a Column, this parameter will exist for any + * cell in a row with a positive index. + * + * Below that entry point the user is welcome to consume or + * pass the prop through at their discretion. */ rowIndex: _propTypes2.default.number }; @@ -3284,29 +3199,29 @@ FixedDataTableCellDefault.propTypes = { module.exports = FixedDataTableCellDefault; /***/ }), -/* 43 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule shallowEqual - * @typechecks - * +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule shallowEqual + * @typechecks + * */ -/** - * Performs equality by iterating through keys on an object and returning false - * when any key has values which are not strictly equal between the arguments. - * Returns true when the values of all keys are strictly equal. +/** + * Performs equality by iterating through keys on an object and returning false + * when any key has values which are not strictly equal between the arguments. + * Returns true when the values of all keys are strictly equal. */ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -3341,9 +3256,9 @@ function shallowEqual(objA, objB) { module.exports = shallowEqual; /***/ }), +/* 43 */, /* 44 */, -/* 45 */, -/* 46 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(13); @@ -3358,40 +3273,40 @@ __webpack_require__(21); __webpack_require__(22); __webpack_require__(23); __webpack_require__(24); -module.exports = __webpack_require__(47); +module.exports = __webpack_require__(46); /***/ }), -/* 47 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableRoot +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableRoot */ -var _FixedDataTable = __webpack_require__(48); +var _FixedDataTable = __webpack_require__(47); var _FixedDataTable2 = _interopRequireDefault(_FixedDataTable); -var _FixedDataTableCellDefault = __webpack_require__(42); +var _FixedDataTableCellDefault = __webpack_require__(41); var _FixedDataTableCellDefault2 = _interopRequireDefault(_FixedDataTableCellDefault); -var _FixedDataTableColumn = __webpack_require__(41); +var _FixedDataTableColumn = __webpack_require__(40); var _FixedDataTableColumn2 = _interopRequireDefault(_FixedDataTableColumn); -var _FixedDataTableColumnGroup = __webpack_require__(40); +var _FixedDataTableColumnGroup = __webpack_require__(39); var _FixedDataTableColumnGroup2 = _interopRequireDefault(_FixedDataTableColumnGroup); @@ -3404,27 +3319,27 @@ var FixedDataTableRoot = { Table: _FixedDataTable2.default }; -FixedDataTableRoot.version = '0.8.12'; +FixedDataTableRoot.version = '0.8.13'; module.exports = FixedDataTableRoot; /***/ }), -/* 48 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTable - * @typechecks - * @noflow +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTable + * @typechecks + * @noflow */ /*eslint no-bitwise:1*/ @@ -3445,7 +3360,7 @@ var _ReactComponentWithPureRenderMixin = __webpack_require__(10); var _ReactComponentWithPureRenderMixin2 = _interopRequireDefault(_ReactComponentWithPureRenderMixin); -var _ReactWheelHandler = __webpack_require__(34); +var _ReactWheelHandler = __webpack_require__(33); var _ReactWheelHandler2 = _interopRequireDefault(_ReactWheelHandler); @@ -3453,7 +3368,7 @@ var _ReactTouchHandler = __webpack_require__(58); var _ReactTouchHandler2 = _interopRequireDefault(_ReactTouchHandler); -var _Scrollbar = __webpack_require__(36); +var _Scrollbar = __webpack_require__(35); var _Scrollbar2 = _interopRequireDefault(_Scrollbar); @@ -3465,7 +3380,7 @@ var _FixedDataTableColumnResizeHandle = __webpack_require__(75); var _FixedDataTableColumnResizeHandle2 = _interopRequireDefault(_FixedDataTableColumnResizeHandle); -var _FixedDataTableRow = __webpack_require__(38); +var _FixedDataTableRow = __webpack_require__(37); var _FixedDataTableRow2 = _interopRequireDefault(_FixedDataTableRow); @@ -3501,7 +3416,7 @@ var _joinClasses = __webpack_require__(8); var _joinClasses2 = _interopRequireDefault(_joinClasses); -var _shallowEqual = __webpack_require__(43); +var _shallowEqual = __webpack_require__(42); var _shallowEqual2 = _interopRequireDefault(_shallowEqual); @@ -3522,370 +3437,370 @@ var ARROW_SCROLL_SPEED = 25; var DRAG_SCROLL_SPEED = 15; var DRAG_SCROLL_BUFFER = 100; -/** - * Data grid component with fixed or scrollable header and columns. - * - * The layout of the data table is as follows: - * - * ``` - * +---------------------------------------------------+ - * | Fixed Column Group | Scrollable Column Group | - * | Header | Header | - * | | | - * +---------------------------------------------------+ - * | | | - * | Fixed Header Columns | Scrollable Header Columns | - * | | | - * +-----------------------+---------------------------+ - * | | | - * | Fixed Body Columns | Scrollable Body Columns | - * | | | - * +-----------------------+---------------------------+ - * | | | - * | Fixed Footer Columns | Scrollable Footer Columns | - * | | | - * +-----------------------+---------------------------+ - * ``` - * - * - Fixed Column Group Header: These are the headers for a group - * of columns if included in the table that do not scroll - * vertically or horizontally. - * - * - Scrollable Column Group Header: The header for a group of columns - * that do not move while scrolling vertically, but move horizontally - * with the horizontal scrolling. - * - * - Fixed Header Columns: The header columns that do not move while scrolling - * vertically or horizontally. - * - * - Scrollable Header Columns: The header columns that do not move - * while scrolling vertically, but move horizontally with the horizontal - * scrolling. - * - * - Fixed Body Columns: The body columns that do not move while scrolling - * horizontally, but move vertically with the vertical scrolling. - * - * - Scrollable Body Columns: The body columns that move while scrolling - * vertically or horizontally. +/** + * Data grid component with fixed or scrollable header and columns. + * + * The layout of the data table is as follows: + * + * ``` + * +---------------------------------------------------+ + * | Fixed Column Group | Scrollable Column Group | + * | Header | Header | + * | | | + * +---------------------------------------------------+ + * | | | + * | Fixed Header Columns | Scrollable Header Columns | + * | | | + * +-----------------------+---------------------------+ + * | | | + * | Fixed Body Columns | Scrollable Body Columns | + * | | | + * +-----------------------+---------------------------+ + * | | | + * | Fixed Footer Columns | Scrollable Footer Columns | + * | | | + * +-----------------------+---------------------------+ + * ``` + * + * - Fixed Column Group Header: These are the headers for a group + * of columns if included in the table that do not scroll + * vertically or horizontally. + * + * - Scrollable Column Group Header: The header for a group of columns + * that do not move while scrolling vertically, but move horizontally + * with the horizontal scrolling. + * + * - Fixed Header Columns: The header columns that do not move while scrolling + * vertically or horizontally. + * + * - Scrollable Header Columns: The header columns that do not move + * while scrolling vertically, but move horizontally with the horizontal + * scrolling. + * + * - Fixed Body Columns: The body columns that do not move while scrolling + * horizontally, but move vertically with the vertical scrolling. + * + * - Scrollable Body Columns: The body columns that move while scrolling + * vertically or horizontally. */ var FixedDataTable = (0, _createReactClass2.default)({ displayName: 'FixedDataTable', propTypes: { - /** - * Pixel width of table. If all columns do not fit, - * a horizontal scrollbar will appear. + /** + * Pixel width of table. If all columns do not fit, + * a horizontal scrollbar will appear. */ width: _propTypes2.default.number.isRequired, - /** - * Pixel height of table. If all rows do not fit, - * a vertical scrollbar will appear. - * - * Either `height` or `maxHeight` must be specified. + /** + * Pixel height of table. If all rows do not fit, + * a vertical scrollbar will appear. + * + * Either `height` or `maxHeight` must be specified. */ height: _propTypes2.default.number, - /** - * Class name to be passed into parent container + /** + * Class name to be passed into parent container */ className: _propTypes2.default.string, - /** - * Maximum pixel height of table. If all rows do not fit, - * a vertical scrollbar will appear. - * - * Either `height` or `maxHeight` must be specified. + /** + * Maximum pixel height of table. If all rows do not fit, + * a vertical scrollbar will appear. + * + * Either `height` or `maxHeight` must be specified. */ maxHeight: _propTypes2.default.number, - /** - * Pixel height of table's owner, this is used in a managed scrolling - * situation when you want to slide the table up from below the fold - * without having to constantly update the height on every scroll tick. - * Instead, vary this property on scroll. By using `ownerHeight`, we - * over-render the table while making sure the footer and horizontal - * scrollbar of the table are visible when the current space for the table - * in view is smaller than the final, over-flowing height of table. It - * allows us to avoid resizing and reflowing table when it is moving in the - * view. - * - * This is used if `ownerHeight < height` (or `maxHeight`). + /** + * Pixel height of table's owner, this is used in a managed scrolling + * situation when you want to slide the table up from below the fold + * without having to constantly update the height on every scroll tick. + * Instead, vary this property on scroll. By using `ownerHeight`, we + * over-render the table while making sure the footer and horizontal + * scrollbar of the table are visible when the current space for the table + * in view is smaller than the final, over-flowing height of table. It + * allows us to avoid resizing and reflowing table when it is moving in the + * view. + * + * This is used if `ownerHeight < height` (or `maxHeight`). */ ownerHeight: _propTypes2.default.number, overflowX: _propTypes2.default.oneOf(['hidden', 'auto']), overflowY: _propTypes2.default.oneOf(['hidden', 'auto']), - /** - * Boolean flag indicating of touch scrolling should be enabled - * This feature is current in beta and may have bugs + /** + * Boolean flag indicating of touch scrolling should be enabled + * This feature is current in beta and may have bugs */ touchScrollEnabled: _propTypes2.default.bool, - /** - * Boolean flags to control if scrolling with keys is enabled + /** + * Boolean flags to control if scrolling with keys is enabled */ keyboardScrollEnabled: _propTypes2.default.bool, keyboardPageEnabled: _propTypes2.default.bool, - /** - * Hide the scrollbar but still enable scroll functionality + /** + * Hide the scrollbar but still enable scroll functionality */ showScrollbarX: _propTypes2.default.bool, showScrollbarY: _propTypes2.default.bool, - /** - * Callback when horizontally scrolling the grid. - * - * Return false to stop propagation. + /** + * Callback when horizontally scrolling the grid. + * + * Return false to stop propagation. */ onHorizontalScroll: _propTypes2.default.func, - /** - * Callback when vertically scrolling the grid. - * - * Return false to stop propagation. + /** + * Callback when vertically scrolling the grid. + * + * Return false to stop propagation. */ onVerticalScroll: _propTypes2.default.func, - /** - * Number of rows in the table. + /** + * Number of rows in the table. */ rowsCount: _propTypes2.default.number.isRequired, - /** - * Pixel height of rows unless `rowHeightGetter` is specified and returns - * different value. + /** + * Pixel height of rows unless `rowHeightGetter` is specified and returns + * different value. */ rowHeight: _propTypes2.default.number.isRequired, - /** - * If specified, `rowHeightGetter(index)` is called for each row and the - * returned value overrides `rowHeight` for particular row. + /** + * If specified, `rowHeightGetter(index)` is called for each row and the + * returned value overrides `rowHeight` for particular row. */ rowHeightGetter: _propTypes2.default.func, - /** - * Pixel height of sub-row unless `subRowHeightGetter` is specified and returns - * different value. Defaults to 0 and no sub-row being displayed. + /** + * Pixel height of sub-row unless `subRowHeightGetter` is specified and returns + * different value. Defaults to 0 and no sub-row being displayed. */ subRowHeight: _propTypes2.default.number, - /** - * If specified, `subRowHeightGetter(index)` is called for each row and the - * returned value overrides `subRowHeight` for particular row. + /** + * If specified, `subRowHeightGetter(index)` is called for each row and the + * returned value overrides `subRowHeight` for particular row. */ subRowHeightGetter: _propTypes2.default.func, - /** - * The row expanded for table row. - * This can either be a React element, or a function that generates - * a React Element. By default, the React element passed in can expect to - * receive the following props: - * - * ``` - * props: { - * rowIndex; number // (the row index) - * height: number // (supplied from the Table or rowHeightGetter) - * width: number // (supplied from the Table) - * } - * ``` - * - * Because you are passing in your own React element, you can feel free to - * pass in whatever props you may want or need. - * - * If you pass in a function, you will receive the same props object as the - * first argument. + /** + * The row expanded for table row. + * This can either be a React element, or a function that generates + * a React Element. By default, the React element passed in can expect to + * receive the following props: + * + * ``` + * props: { + * rowIndex; number // (the row index) + * height: number // (supplied from the Table or rowHeightGetter) + * width: number // (supplied from the Table) + * } + * ``` + * + * Because you are passing in your own React element, you can feel free to + * pass in whatever props you may want or need. + * + * If you pass in a function, you will receive the same props object as the + * first argument. */ rowExpanded: _propTypes2.default.oneOfType([_propTypes2.default.element, _propTypes2.default.func]), - /** - * To get any additional CSS classes that should be added to a row, - * `rowClassNameGetter(index)` is called. + /** + * To get any additional CSS classes that should be added to a row, + * `rowClassNameGetter(index)` is called. */ rowClassNameGetter: _propTypes2.default.func, - /** - * If specified, `rowKeyGetter(index)` is called for each row and the - * returned value overrides `key` for the particular row. + /** + * If specified, `rowKeyGetter(index)` is called for each row and the + * returned value overrides `key` for the particular row. */ rowKeyGetter: _propTypes2.default.func, - /** - * Pixel height of the column group header. + /** + * Pixel height of the column group header. */ groupHeaderHeight: _propTypes2.default.number, - /** - * Pixel height of header. + /** + * Pixel height of header. */ headerHeight: _propTypes2.default.number.isRequired, - /** - * Pixel height of fixedDataTableCellGroupLayout/cellGroupWrapper. - * Default is headerHeight and groupHeaderHeight. - * - * This can be used with CSS to make a header cell span both the group & normal header row. - * Setting this to a value larger than height will cause the content to - * overflow the height. This is useful when adding a 2nd table as the group - * header and vertically merging the 2 headers when a column is not part - * of a group. Here are the necessary CSS changes: - * - * Both headers: - * - cellGroupWrapper needs overflow-x: hidden and pointer-events: none - * - cellGroup needs pointer-events: auto to reenable them on child els - * Group header: - * - Layout/main needs overflow: visible and a higher z-index - * - CellLayout/main needs overflow-y: visible - * - cellGroup needs overflow: visible + /** + * Pixel height of fixedDataTableCellGroupLayout/cellGroupWrapper. + * Default is headerHeight and groupHeaderHeight. + * + * This can be used with CSS to make a header cell span both the group & normal header row. + * Setting this to a value larger than height will cause the content to + * overflow the height. This is useful when adding a 2nd table as the group + * header and vertically merging the 2 headers when a column is not part + * of a group. Here are the necessary CSS changes: + * + * Both headers: + * - cellGroupWrapper needs overflow-x: hidden and pointer-events: none + * - cellGroup needs pointer-events: auto to reenable them on child els + * Group header: + * - Layout/main needs overflow: visible and a higher z-index + * - CellLayout/main needs overflow-y: visible + * - cellGroup needs overflow: visible */ cellGroupWrapperHeight: _propTypes2.default.number, - /** - * Pixel height of footer. + /** + * Pixel height of footer. */ footerHeight: _propTypes2.default.number, - /** - * Value of horizontal scroll. + /** + * Value of horizontal scroll. */ scrollLeft: _propTypes2.default.number, - /** - * Index of column to scroll to. + /** + * Index of column to scroll to. */ scrollToColumn: _propTypes2.default.number, - /** - * Value of vertical scroll. + /** + * Value of vertical scroll. */ scrollTop: _propTypes2.default.number, - /** - * Index of row to scroll to. + /** + * Index of row to scroll to. */ scrollToRow: _propTypes2.default.number, - /** - * Callback that is called when scrolling starts with current horizontal - * and vertical scroll values. + /** + * Callback that is called when scrolling starts with current horizontal + * and vertical scroll values. */ onScrollStart: _propTypes2.default.func, - /** - * Callback that is called when scrolling ends or stops with new horizontal - * and vertical scroll values. + /** + * Callback that is called when scrolling ends or stops with new horizontal + * and vertical scroll values. */ onScrollEnd: _propTypes2.default.func, - /** - * If enabled scroll events will not be propagated outside of the table. + /** + * If enabled scroll events will not be propagated outside of the table. */ stopScrollPropagation: _propTypes2.default.bool, - /** - * Callback that is called when `rowHeightGetter` returns a different height - * for a row than the `rowHeight` prop. This is necessary because initially - * table estimates heights of some parts of the content. + /** + * Callback that is called when `rowHeightGetter` returns a different height + * for a row than the `rowHeight` prop. This is necessary because initially + * table estimates heights of some parts of the content. */ onContentHeightChange: _propTypes2.default.func, - /** - * Callback that is called when a row is clicked. + /** + * Callback that is called when a row is clicked. */ onRowClick: _propTypes2.default.func, - /** - * Callback that is called when a row is double clicked. + /** + * Callback that is called when a row is double clicked. */ onRowDoubleClick: _propTypes2.default.func, - /** - * Callback that is called when a contextual-menu event happens on a row. + /** + * Callback that is called when a contextual-menu event happens on a row. */ onRowContextMenu: _propTypes2.default.func, - /** - * Callback that is called when a mouse-down event happens on a row. + /** + * Callback that is called when a mouse-down event happens on a row. */ onRowMouseDown: _propTypes2.default.func, - /** - * Callback that is called when a mouse-up event happens on a row. + /** + * Callback that is called when a mouse-up event happens on a row. */ onRowMouseUp: _propTypes2.default.func, - /** - * Callback that is called when a mouse-enter event happens on a row. + /** + * Callback that is called when a mouse-enter event happens on a row. */ onRowMouseEnter: _propTypes2.default.func, - /** - * Callback that is called when a mouse-leave event happens on a row. + /** + * Callback that is called when a mouse-leave event happens on a row. */ onRowMouseLeave: _propTypes2.default.func, - /** - * Callback that is called when a touch-start event happens on a row. + /** + * Callback that is called when a touch-start event happens on a row. */ onRowTouchStart: _propTypes2.default.func, - /** - * Callback that is called when a touch-end event happens on a row. + /** + * Callback that is called when a touch-end event happens on a row. */ onRowTouchEnd: _propTypes2.default.func, - /** - * Callback that is called when a touch-move event happens on a row. + /** + * Callback that is called when a touch-move event happens on a row. */ onRowTouchMove: _propTypes2.default.func, - /** - * Callback that is called when resizer has been released - * and column needs to be updated. - * - * Required if the isResizable property is true on any column. - * - * ``` - * function( - * newColumnWidth: number, - * columnKey: string, - * ) - * ``` + /** + * Callback that is called when resizer has been released + * and column needs to be updated. + * + * Required if the isResizable property is true on any column. + * + * ``` + * function( + * newColumnWidth: number, + * columnKey: string, + * ) + * ``` */ onColumnResizeEndCallback: _propTypes2.default.func, - /** - * Callback that is called when reordering has been completed - * and columns need to be updated. - * - * ``` - * function( - * event { - * columnBefore: string|undefined, // the column before the new location of this one - * columnAfter: string|undefined, // the column after the new location of this one - * reorderColumn: string, // the column key that was just reordered - * } - * ) - * ``` + /** + * Callback that is called when reordering has been completed + * and columns need to be updated. + * + * ``` + * function( + * event { + * columnBefore: string|undefined, // the column before the new location of this one + * columnAfter: string|undefined, // the column after the new location of this one + * reorderColumn: string, // the column key that was just reordered + * } + * ) + * ``` */ onColumnReorderEndCallback: _propTypes2.default.func, - /** - * Whether a column is currently being resized. + /** + * Whether a column is currently being resized. */ isColumnResizing: _propTypes2.default.bool, - /** - * Whether columns are currently being reordered. + /** + * Whether columns are currently being reordered. */ isColumnReordering: _propTypes2.default.bool, - /** - * The number of rows outside the viewport to prerender. Defaults to roughly - * half of the number of visible rows. + /** + * The number of rows outside the viewport to prerender. Defaults to roughly + * half of the number of visible rows. */ bufferRowCount: _propTypes2.default.number }, @@ -4039,7 +3954,9 @@ var FixedDataTable = (0, _createReactClass2.default)({ this._reportContentHeight(); }, _onRef: function _onRef(div) { - this._wheelHandler.setRoot(div); + if (this.props.stopReactWheelPropagation) { + this._wheelHandler.setRoot(div); + } }, render: function render() /*object*/{ var state = this.state; @@ -4262,10 +4179,10 @@ var FixedDataTable = (0, _createReactClass2.default)({ }, - /** - * This is called when a cell that is in the header of a column has its - * resizer knob clicked on. It displays the resizer and puts in the correct - * location on the table. + /** + * This is called when a cell that is in the header of a column has its + * resizer knob clicked on. It displays the resizer and puts in the correct + * location on the table. */ _onColumnResize: function _onColumnResize( /*number*/combinedWidth, @@ -4868,21 +4785,23 @@ var HorizontalScrollbar = (0, _createReactClass2.default)({ module.exports = FixedDataTable; /***/ }), -/* 49 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * */ -var _assign = __webpack_require__(33); +var _assign = __webpack_require__(49); var emptyObject = __webpack_require__(50); var _invariant = __webpack_require__(9); @@ -5144,27 +5063,6 @@ function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { */ componentWillUnmount: 'DEFINE_MANY', - /** - * Replacement for (deprecated) `componentWillMount`. - * - * @optional - */ - UNSAFE_componentWillMount: 'DEFINE_MANY', - - /** - * Replacement for (deprecated) `componentWillReceiveProps`. - * - * @optional - */ - UNSAFE_componentWillReceiveProps: 'DEFINE_MANY', - - /** - * Replacement for (deprecated) `componentWillUpdate`. - * - * @optional - */ - UNSAFE_componentWillUpdate: 'DEFINE_MANY', - // ==== Advanced methods ==== /** @@ -5180,23 +5078,6 @@ function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { updateComponent: 'OVERRIDE_BASE' }; - /** - * Similar to ReactClassInterface but for static methods. - */ - var ReactClassStaticInterface = { - /** - * This method is invoked after a component is instantiated and when it - * receives new props. Return an object to update state in response to - * prop changes. Return null to indicate no change to state. - * - * If an object is returned, its keys will be merged into the existing state. - * - * @return {object || null} - * @optional - */ - getDerivedStateFromProps: 'DEFINE_MANY_MERGED' - }; - /** * Mapping from class specification keys to special processing functions. * @@ -5431,7 +5312,6 @@ function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { if (!statics) { return; } - for (var name in statics) { var property = statics[name]; if (!statics.hasOwnProperty(name)) { @@ -5448,25 +5328,14 @@ function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { name ); - var isAlreadyDefined = name in Constructor; - if (isAlreadyDefined) { - var specPolicy = ReactClassStaticInterface.hasOwnProperty(name) - ? ReactClassStaticInterface[name] - : null; - - _invariant( - specPolicy === 'DEFINE_MANY_MERGED', - 'ReactClass: You are attempting to define ' + - '`%s` on your component more than once. This conflict may be ' + - 'due to a mixin.', - name - ); - - Constructor[name] = createMergedResultFunction(Constructor[name], property); - - return; - } - + var isInherited = name in Constructor; + _invariant( + !isInherited, + 'ReactClass: You are attempting to define ' + + '`%s` on your component more than once. This conflict may be ' + + 'due to a mixin.', + name + ); Constructor[name] = property; } } @@ -5776,12 +5645,6 @@ function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component' ); - warning( - !Constructor.prototype.UNSAFE_componentWillRecieveProps, - '%s has a method called UNSAFE_componentWillRecieveProps(). ' + - 'Did you mean UNSAFE_componentWillReceiveProps()?', - spec.displayName || 'A component' - ); } // Reduce time spent doing lookups by setting these on the prototype. @@ -5801,6 +5664,103 @@ module.exports = factory; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4))) +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + /***/ }), /* 50 */ /***/ (function(module, exports, __webpack_require__) { @@ -5808,9 +5768,11 @@ module.exports = factory; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * */ @@ -5831,10 +5793,12 @@ module.exports = emptyObject; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. */ @@ -5842,7 +5806,6 @@ module.exports = emptyObject; var emptyFunction = __webpack_require__(26); var invariant = __webpack_require__(9); var warning = __webpack_require__(25); -var assign = __webpack_require__(33); var ReactPropTypesSecret = __webpack_require__(27); var checkPropTypes = __webpack_require__(52); @@ -5941,8 +5904,7 @@ module.exports = function(isValidElement, throwOnDirectAccess) { objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker, - exact: createStrictShapeTypeChecker, + shape: createShapeTypeChecker }; /** @@ -6157,7 +6119,7 @@ module.exports = function(isValidElement, throwOnDirectAccess) { if (typeof checker !== 'function') { warning( false, - 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' + 'received %s at index %s.', getPostfixForTypeWarning(checker), i @@ -6211,36 +6173,6 @@ module.exports = function(isValidElement, throwOnDirectAccess) { return createChainableTypeChecker(validate); } - function createStrictShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); - } - // We need to check all keys in case some are required but missing from - // props. - var allKeys = assign({}, props[propName], shapeTypes); - for (var key in allKeys) { - var checker = shapeTypes[key]; - if (!checker) { - return new PropTypeError( - 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + - '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + - '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') - ); - } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error) { - return error; - } - } - return null; - } - - return createChainableTypeChecker(validate); - } - function isNode(propValue) { switch (typeof propValue) { case 'number': @@ -6381,10 +6313,12 @@ module.exports = function(isValidElement, throwOnDirectAccess) { "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. */ @@ -6418,7 +6352,7 @@ function checkPropTypes(typeSpecs, values, location, componentName, getStack) { try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. - invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]); + invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName); error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; @@ -6448,10 +6382,12 @@ module.exports = checkPropTypes; "use strict"; /** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. */ @@ -6496,8 +6432,7 @@ module.exports = function() { objectOf: getShim, oneOf: getShim, oneOfType: getShim, - shape: getShim, - exact: getShim + shape: getShim }; ReactPropTypes.checkPropTypes = emptyFunction; @@ -6512,16 +6447,16 @@ module.exports = function() { /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule normalizeWheel - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule normalizeWheel + * @typechecks */ @@ -6541,105 +6476,105 @@ var PIXEL_STEP = 10; var LINE_HEIGHT = 40; var PAGE_HEIGHT = 800; -/** - * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is - * complicated, thus this doc is long and (hopefully) detailed enough to answer - * your questions. - * - * If you need to react to the mouse wheel in a predictable way, this code is - * like your bestest friend. * hugs * - * - * As of today, there are 4 DOM event types you can listen to: - * - * 'wheel' -- Chrome(31+), FF(17+), IE(9+) - * 'mousewheel' -- Chrome, IE(6+), Opera, Safari - * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! - * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 - * - * So what to do? The is the best: - * - * normalizeWheel.getEventType(); - * - * In your event callback, use this code to get sane interpretation of the - * deltas. This code will return an object with properties: - * - * spinX -- normalized spin speed (use for zoom) - x plane - * spinY -- " - y plane - * pixelX -- normalized distance (to pixels) - x plane - * pixelY -- " - y plane - * - * Wheel values are provided by the browser assuming you are using the wheel to - * scroll a web page by a number of lines or pixels (or pages). Values can vary - * significantly on different platforms and browsers, forgetting that you can - * scroll at different speeds. Some devices (like trackpads) emit more events - * at smaller increments with fine granularity, and some emit massive jumps with - * linear speed or acceleration. - * - * This code does its best to normalize the deltas for you: - * - * - spin is trying to normalize how far the wheel was spun (or trackpad - * dragged). This is super useful for zoom support where you want to - * throw away the chunky scroll steps on the PC and make those equal to - * the slow and smooth tiny steps on the Mac. Key data: This code tries to - * resolve a single slow step on a wheel to 1. - * - * - pixel is normalizing the desired scroll delta in pixel units. You'll - * get the crazy differences between browsers, but at least it'll be in - * pixels! - * - * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This - * should translate to positive value zooming IN, negative zooming OUT. - * This matches the newer 'wheel' event. - * - * Why are there spinX, spinY (or pixels)? - * - * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn - * with a mouse. It results in side-scrolling in the browser by default. - * - * - spinY is what you expect -- it's the classic axis of a mouse wheel. - * - * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and - * probably is by browsers in conjunction with fancy 3D controllers .. but - * you know. - * - * Implementation info: - * - * Examples of 'wheel' event if you scroll slowly (down) by one step with an - * average mouse: - * - * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) - * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) - * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) - * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) - * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) - * - * On the trackpad: - * - * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) - * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) - * - * On other/older browsers.. it's more complicated as there can be multiple and - * also missing delta values. - * - * The 'wheel' event is more standard: - * - * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents - * - * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and - * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain - * backward compatibility with older events. Those other values help us - * better normalize spin speed. Example of what the browsers provide: - * - * | event.wheelDelta | event.detail - * ------------------+------------------+-------------- - * Safari v5/OS X | -120 | 0 - * Safari v5/Win7 | -120 | 0 - * Chrome v17/OS X | -120 | 0 - * Chrome v17/Win7 | -120 | 0 - * IE9/Win7 | -120 | undefined - * Firefox v4/OS X | undefined | 1 - * Firefox v4/Win7 | undefined | 3 - * +/** + * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is + * complicated, thus this doc is long and (hopefully) detailed enough to answer + * your questions. + * + * If you need to react to the mouse wheel in a predictable way, this code is + * like your bestest friend. * hugs * + * + * As of today, there are 4 DOM event types you can listen to: + * + * 'wheel' -- Chrome(31+), FF(17+), IE(9+) + * 'mousewheel' -- Chrome, IE(6+), Opera, Safari + * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! + * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 + * + * So what to do? The is the best: + * + * normalizeWheel.getEventType(); + * + * In your event callback, use this code to get sane interpretation of the + * deltas. This code will return an object with properties: + * + * spinX -- normalized spin speed (use for zoom) - x plane + * spinY -- " - y plane + * pixelX -- normalized distance (to pixels) - x plane + * pixelY -- " - y plane + * + * Wheel values are provided by the browser assuming you are using the wheel to + * scroll a web page by a number of lines or pixels (or pages). Values can vary + * significantly on different platforms and browsers, forgetting that you can + * scroll at different speeds. Some devices (like trackpads) emit more events + * at smaller increments with fine granularity, and some emit massive jumps with + * linear speed or acceleration. + * + * This code does its best to normalize the deltas for you: + * + * - spin is trying to normalize how far the wheel was spun (or trackpad + * dragged). This is super useful for zoom support where you want to + * throw away the chunky scroll steps on the PC and make those equal to + * the slow and smooth tiny steps on the Mac. Key data: This code tries to + * resolve a single slow step on a wheel to 1. + * + * - pixel is normalizing the desired scroll delta in pixel units. You'll + * get the crazy differences between browsers, but at least it'll be in + * pixels! + * + * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This + * should translate to positive value zooming IN, negative zooming OUT. + * This matches the newer 'wheel' event. + * + * Why are there spinX, spinY (or pixels)? + * + * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn + * with a mouse. It results in side-scrolling in the browser by default. + * + * - spinY is what you expect -- it's the classic axis of a mouse wheel. + * + * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and + * probably is by browsers in conjunction with fancy 3D controllers .. but + * you know. + * + * Implementation info: + * + * Examples of 'wheel' event if you scroll slowly (down) by one step with an + * average mouse: + * + * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) + * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) + * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) + * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) + * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) + * + * On the trackpad: + * + * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) + * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) + * + * On other/older browsers.. it's more complicated as there can be multiple and + * also missing delta values. + * + * The 'wheel' event is more standard: + * + * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents + * + * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and + * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain + * backward compatibility with older events. Those other values help us + * better normalize spin speed. Example of what the browsers provide: + * + * | event.wheelDelta | event.detail + * ------------------+------------------+-------------- + * Safari v5/OS X | -120 | 0 + * Safari v5/Win7 | -120 | 0 + * Chrome v17/OS X | -120 | 0 + * Chrome v17/Win7 | -120 | 0 + * IE9/Win7 | -120 | undefined + * Firefox v4/OS X | undefined | 1 + * Firefox v4/Win7 | undefined | 3 + * */ function normalizeWheel( /*object*/event) /*object*/{ var sX = 0, @@ -6704,10 +6639,10 @@ function normalizeWheel( /*object*/event) /*object*/{ pixelY: pY }; } -/** - * The best combination if you prefer spinX + spinY normalization. It favors - * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with - * 'wheel' event, making spin speed determination impossible. +/** + * The best combination if you prefer spinX + spinY normalization. It favors + * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with + * 'wheel' event, making spin speed determination impossible. */ normalizeWheel.getEventType = function () /*string*/{ return _UserAgent_DEPRECATED2.default.firefox() ? 'DOMMouseScroll' : (0, _isEventSupported2.default)('wheel') ? 'wheel' : 'mousewheel'; @@ -6722,50 +6657,50 @@ module.exports = normalizeWheel; "use strict"; -/** - * Copyright Schrodinger, LLC - * - * @providesModule UserAgent_DEPRECATED +/** + * Copyright Schrodinger, LLC + * + * @providesModule UserAgent_DEPRECATED */ -/** - * Provides entirely client-side User Agent and OS detection. You should prefer - * the non-deprecated UserAgent module when possible, which exposes our - * authoritative server-side PHP-based detection to the client. - * - * Usage is straightforward: - * - * if (UserAgent_DEPRECATED.ie()) { - * // IE - * } - * - * You can also do version checks: - * - * if (UserAgent_DEPRECATED.ie() >= 7) { - * // IE7 or better - * } - * - * The browser functions will return NaN if the browser does not match, so - * you can also do version compares the other way: - * - * if (UserAgent_DEPRECATED.ie() < 7) { - * // IE6 or worse - * } - * - * Note that the version is a float and may include a minor version number, - * so you should always use range operators to perform comparisons, not - * strict equality. - * - * **Note:** You should **strongly** prefer capability detection to browser - * version detection where it's reasonable: - * - * http://www.quirksmode.org/js/support.html - * - * Further, we have a large number of mature wrapper functions and classes - * which abstract away many browser irregularities. Check the documentation, - * grep for things, or ask on javascript@lists.facebook.com before writing yet - * another copy of "event || window.event". - * +/** + * Provides entirely client-side User Agent and OS detection. You should prefer + * the non-deprecated UserAgent module when possible, which exposes our + * authoritative server-side PHP-based detection to the client. + * + * Usage is straightforward: + * + * if (UserAgent_DEPRECATED.ie()) { + * // IE + * } + * + * You can also do version checks: + * + * if (UserAgent_DEPRECATED.ie() >= 7) { + * // IE7 or better + * } + * + * The browser functions will return NaN if the browser does not match, so + * you can also do version compares the other way: + * + * if (UserAgent_DEPRECATED.ie() < 7) { + * // IE6 or worse + * } + * + * Note that the version is a float and may include a minor version number, + * so you should always use range operators to perform comparisons, not + * strict equality. + * + * **Note:** You should **strongly** prefer capability detection to browser + * version detection where it's reasonable: + * + * http://www.quirksmode.org/js/support.html + * + * Further, we have a large number of mature wrapper functions and classes + * which abstract away many browser irregularities. Check the documentation, + * grep for things, or ask on javascript@lists.facebook.com before writing yet + * another copy of "event || window.event". + * */ var _populated = false; @@ -6864,116 +6799,116 @@ function _populate() { var UserAgent_DEPRECATED = { - /** - * Check if the UA is Internet Explorer. - * - * - * @return float|NaN Version number (if match) or NaN. + /** + * Check if the UA is Internet Explorer. + * + * + * @return float|NaN Version number (if match) or NaN. */ ie: function ie() { return _populate() || _ie; }, - /** - * Check if we're in Internet Explorer compatibility mode. - * - * @return bool true if in compatibility mode, false if - * not compatibility mode or not ie + /** + * Check if we're in Internet Explorer compatibility mode. + * + * @return bool true if in compatibility mode, false if + * not compatibility mode or not ie */ ieCompatibilityMode: function ieCompatibilityMode() { return _populate() || _ie_real_version > _ie; }, - /** - * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we - * only need this because Skype can't handle 64-bit IE yet. We need to remove - * this when we don't need it -- tracked by #601957. + /** + * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we + * only need this because Skype can't handle 64-bit IE yet. We need to remove + * this when we don't need it -- tracked by #601957. */ ie64: function ie64() { return UserAgent_DEPRECATED.ie() && _win64; }, - /** - * Check if the UA is Firefox. - * - * - * @return float|NaN Version number (if match) or NaN. + /** + * Check if the UA is Firefox. + * + * + * @return float|NaN Version number (if match) or NaN. */ firefox: function firefox() { return _populate() || _firefox; }, - /** - * Check if the UA is Opera. - * - * - * @return float|NaN Version number (if match) or NaN. + /** + * Check if the UA is Opera. + * + * + * @return float|NaN Version number (if match) or NaN. */ opera: function opera() { return _populate() || _opera; }, - /** - * Check if the UA is WebKit. - * - * - * @return float|NaN Version number (if match) or NaN. + /** + * Check if the UA is WebKit. + * + * + * @return float|NaN Version number (if match) or NaN. */ webkit: function webkit() { return _populate() || _webkit; }, - /** - * For Push - * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit + /** + * For Push + * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit */ safari: function safari() { return UserAgent_DEPRECATED.webkit(); }, - /** - * Check if the UA is a Chrome browser. - * - * - * @return float|NaN Version number (if match) or NaN. + /** + * Check if the UA is a Chrome browser. + * + * + * @return float|NaN Version number (if match) or NaN. */ chrome: function chrome() { return _populate() || _chrome; }, - /** - * Check if the user is running Windows. - * - * @return bool `true' if the user's OS is Windows. + /** + * Check if the user is running Windows. + * + * @return bool `true' if the user's OS is Windows. */ windows: function windows() { return _populate() || _windows; }, - /** - * Check if the user is running Mac OS X. - * - * @return float|bool Returns a float if a version number is detected, - * otherwise true/false. + /** + * Check if the user is running Mac OS X. + * + * @return float|bool Returns a float if a version number is detected, + * otherwise true/false. */ osx: function osx() { return _populate() || _osx; }, - /** - * Check if the user is running Linux. - * - * @return bool `true' if the user's OS is some flavor of Linux. + /** + * Check if the user is running Linux. + * + * @return bool `true' if the user's OS is some flavor of Linux. */ linux: function linux() { return _populate() || _linux; }, - /** - * Check if the user is running on an iPhone or iPod platform. - * - * @return bool `true' if the user is running some flavor of the - * iPhone OS. + /** + * Check if the user is running on an iPhone or iPod platform. + * + * @return bool `true' if the user is running some flavor of the + * iPhone OS. */ iphone: function iphone() { return _populate() || _iphone; @@ -7004,20 +6939,20 @@ module.exports = UserAgent_DEPRECATED; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule isEventSupported +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule isEventSupported */ -var _ExecutionEnvironment = __webpack_require__(35); +var _ExecutionEnvironment = __webpack_require__(34); var _ExecutionEnvironment2 = _interopRequireDefault(_ExecutionEnvironment); @@ -7031,19 +6966,19 @@ if (_ExecutionEnvironment2.default.canUseDOM) { document.implementation.hasFeature('', '') !== true; } -/** - * Checks if an event is supported in the current execution environment. - * - * NOTE: This will not work correctly for non-generic events such as `change`, - * `reset`, `load`, `error`, and `select`. - * - * Borrows from Modernizr. - * - * @param {string} eventNameSuffix Event name, e.g. "click". - * @param {?boolean} capture Check if the capture phase is supported. - * @return {boolean} True if the event is supported. - * @internal - * @license Modernizr 3.0.0pre (Custom Build) | MIT +/** + * Checks if an event is supported in the current execution environment. + * + * NOTE: This will not work correctly for non-generic events such as `change`, + * `reset`, `load`, `error`, and `select`. + * + * Borrows from Modernizr. + * + * @param {string} eventNameSuffix Event name, e.g. "click". + * @param {?boolean} capture Check if the capture phase is supported. + * @return {boolean} True if the event is supported. + * @internal + * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function isEventSupported(eventNameSuffix, capture) { if (!_ExecutionEnvironment2.default.canUseDOM || capture && !('addEventListener' in document)) { @@ -7076,15 +7011,15 @@ module.exports = isEventSupported; "use strict"; /* WEBPACK VAR INJECTION */(function(global) { -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule nativeRequestAnimationFrame +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule nativeRequestAnimationFrame */ var nativeRequestAnimationFrame = global.requestAnimationFrame || global.webkitRequestAnimationFrame || global.mozRequestAnimationFrame || global.oRequestAnimationFrame || global.msRequestAnimationFrame; @@ -7097,20 +7032,20 @@ module.exports = nativeRequestAnimationFrame; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * This is utility that handles touch events and calls provided touch - * callback with correct frame rate. - * Deceleration logic based on http://ariya.ofilabs.com/2013/11/javascript-kinetic-scrolling-part-2.html - * - * @providesModule ReactTouchHandler - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * This is utility that handles touch events and calls provided touch + * callback with correct frame rate. + * Deceleration logic based on http://ariya.ofilabs.com/2013/11/javascript-kinetic-scrolling-part-2.html + * + * @providesModule ReactTouchHandler + * @typechecks */ @@ -7135,11 +7070,11 @@ var DECELERATION_FACTOR = 325; var TRACKER_TIMEOUT = 100; var ReactTouchHandler = function () { - /** - * onTouchScroll is the callback that will be called with right frame rate if - * any touch events happened - * onTouchScroll should is to be called with two arguments: deltaX and deltaY in - * this order + /** + * onTouchScroll is the callback that will be called with right frame rate if + * any touch events happened + * onTouchScroll should is to be called with two arguments: deltaX and deltaY in + * this order */ function ReactTouchHandler( /*function*/onTouchScroll, @@ -7299,9 +7234,9 @@ var ReactTouchHandler = function () { } } - /** - * Fire scroll callback based on computed drag delta. - * Also track accummulated delta so we can calculate velocity + /** + * Fire scroll callback based on computed drag delta. + * Also track accummulated delta so we can calculate velocity */ }, { @@ -7316,9 +7251,9 @@ var ReactTouchHandler = function () { this._deltaY = 0; } - /** - * Compute velocity based on a weighted average of drag over last 100 ms and - * previous velocity. Combining into a moving average results in a smoother scroll. + /** + * Compute velocity based on a weighted average of drag over last 100 ms and + * previous velocity. Combining into a moving average results in a smoother scroll. */ }, { @@ -7355,11 +7290,11 @@ var ReactTouchHandler = function () { this._lastFrameTimestamp = now; } - /** - * To kick off deceleration / momentum scrolling, - * handle any scrolling from a drag which was waiting for an animation frame - * Then update our velocity - * Finally start the momentum scrolling handler (autoScroll) + /** + * To kick off deceleration / momentum scrolling, + * handle any scrolling from a drag which was waiting for an animation frame + * Then update our velocity + * Finally start the momentum scrolling handler (autoScroll) */ }, { @@ -7373,9 +7308,9 @@ var ReactTouchHandler = function () { this._autoScroll(); } - /** - * Compute a scroll delta with an exponential decay based on time elapsed since drag was released. - * This is called recursively on animation frames until the delta is below a threshold (5 pixels) + /** + * Compute a scroll delta with an exponential decay based on time elapsed since drag was released. + * This is called recursively on animation frames until the delta is below a threshold (5 pixels) */ }, { @@ -7418,18 +7353,18 @@ var _emptyFunction2 = _interopRequireDefault(_emptyFunction); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/** - * Upstream version of event listener. Does not take into account specific - * nature of platform. +/** + * Upstream version of event listener. Does not take into account specific + * nature of platform. */ var EventListener = { - /** - * Listen to DOM events during the bubble phase. - * - * @param {DOMEventTarget} target DOM element to register listener on. - * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. - * @param {function} callback Callback function. - * @return {object} Object with a `remove` method. + /** + * Listen to DOM events during the bubble phase. + * + * @param {DOMEventTarget} target DOM element to register listener on. + * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. + * @param {function} callback Callback function. + * @return {object} Object with a `remove` method. */ listen: function listen(target, eventType, callback) { if (target.addEventListener) { @@ -7449,13 +7384,13 @@ var EventListener = { } }, - /** - * Listen to DOM events during the capture phase. - * - * @param {DOMEventTarget} target DOM element to register listener on. - * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. - * @param {function} callback Callback function. - * @return {object} Object with a `remove` method. + /** + * Listen to DOM events during the capture phase. + * + * @param {DOMEventTarget} target DOM element to register listener on. + * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. + * @param {function} callback Callback function. + * @return {object} Object with a `remove` method. */ capture: function capture(target, eventType, callback) { if (target.addEventListener) { @@ -7466,7 +7401,7 @@ var EventListener = { } }; } else { - if (false) { + if (true) { console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.'); } return { @@ -7476,16 +7411,16 @@ var EventListener = { }, registerDefault: function registerDefault() {} -}; /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule EventListener - * @typechecks +}; /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule EventListener + * @typechecks */ module.exports = EventListener; @@ -7497,20 +7432,20 @@ module.exports = EventListener; "use strict"; /* WEBPACK VAR INJECTION */(function(global) { -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule cancelAnimationFramePolyfill +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule cancelAnimationFramePolyfill */ -/** - * Here is the native and polyfill version of cancelAnimationFrame. - * Please don't use it directly and use cancelAnimationFrame module instead. +/** + * Here is the native and polyfill version of cancelAnimationFrame. + * Please don't use it directly and use cancelAnimationFrame module instead. */ var cancelAnimationFrame = global.cancelAnimationFrame || global.webkitCancelAnimationFrame || global.mozCancelAnimationFrame || global.oCancelAnimationFrame || global.msCancelAnimationFrame || global.clearTimeout; @@ -7524,15 +7459,15 @@ module.exports = cancelAnimationFrame; "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule Keys +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Keys */ module.exports = { @@ -7567,15 +7502,15 @@ module.exports = { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactDOM +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDOM */ module.exports = __webpack_require__(63); @@ -7591,16 +7526,16 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_63__; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule cssVar - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule cssVar + * @typechecks */ @@ -7620,8 +7555,8 @@ var CSS_VARS = { 'fbui-desktop-background-light': '#f6f7f8' }; -/** - * @param {string} name +/** + * @param {string} name */ function cssVar(name) { if (CSS_VARS.hasOwnProperty(name)) { @@ -7640,16 +7575,16 @@ module.exports = cssVar; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule translateDOMPositionXY - * @typechecks +/* WEBPACK VAR INJECTION */(function(global) {/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule translateDOMPositionXY + * @typechecks */ @@ -7658,7 +7593,7 @@ var _BrowserSupportCore = __webpack_require__(66); var _BrowserSupportCore2 = _interopRequireDefault(_BrowserSupportCore); -var _getVendorPrefixedName = __webpack_require__(37); +var _getVendorPrefixedName = __webpack_require__(36); var _getVendorPrefixedName2 = _interopRequireDefault(_getVendorPrefixedName); @@ -7703,49 +7638,49 @@ module.exports = translateDOMPositionXY; "use strict"; -var _getVendorPrefixedName = __webpack_require__(37); +var _getVendorPrefixedName = __webpack_require__(36); var _getVendorPrefixedName2 = _interopRequireDefault(_getVendorPrefixedName); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var BrowserSupportCore = { - /** - * @return {bool} True if browser supports css animations. + /** + * @return {bool} True if browser supports css animations. */ hasCSSAnimations: function hasCSSAnimations() { return !!(0, _getVendorPrefixedName2.default)('animationName'); }, - /** - * @return {bool} True if browser supports css transforms. + /** + * @return {bool} True if browser supports css transforms. */ hasCSSTransforms: function hasCSSTransforms() { return !!(0, _getVendorPrefixedName2.default)('transform'); }, - /** - * @return {bool} True if browser supports css 3d transforms. + /** + * @return {bool} True if browser supports css 3d transforms. */ hasCSS3DTransforms: function hasCSS3DTransforms() { return !!(0, _getVendorPrefixedName2.default)('perspective'); }, - /** - * @return {bool} True if browser supports css transitions. + /** + * @return {bool} True if browser supports css transitions. */ hasCSSTransitions: function hasCSSTransitions() { return !!(0, _getVendorPrefixedName2.default)('transition'); } -}; /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule BrowserSupportCore +}; /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule BrowserSupportCore */ module.exports = BrowserSupportCore; @@ -7757,28 +7692,28 @@ module.exports = BrowserSupportCore; "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule camelize - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule camelize + * @typechecks */ var _hyphenPattern = /-(.)/g; -/** - * Camelcases a hyphenated string, for example: - * - * > camelize('background-color') - * < "backgroundColor" - * - * @param {string} string - * @return {string} +/** + * Camelcases a hyphenated string, for example: + * + * > camelize('background-color') + * < "backgroundColor" + * + * @param {string} string + * @return {string} */ function camelize(string) { return string.replace(_hyphenPattern, function (_, character) { @@ -7811,7 +7746,7 @@ var _FixedDataTableRowBuffer = __webpack_require__(69); var _FixedDataTableRowBuffer2 = _interopRequireDefault(_FixedDataTableRowBuffer); -var _FixedDataTableRow = __webpack_require__(38); +var _FixedDataTableRow = __webpack_require__(37); var _FixedDataTableRow2 = _interopRequireDefault(_FixedDataTableRow); @@ -7829,16 +7764,16 @@ var _joinClasses2 = _interopRequireDefault(_joinClasses); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableBufferedRows - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableBufferedRows + * @typechecks */ var FixedDataTableBufferedRows = (0, _createReactClass2.default)({ @@ -8002,16 +7937,16 @@ module.exports = FixedDataTableBufferedRows; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableRowBuffer - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableRowBuffer + * @typechecks */ @@ -8142,16 +8077,16 @@ module.exports = FixedDataTableRowBuffer; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule IntegerBufferSet - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule IntegerBufferSet + * @typechecks */ @@ -8333,25 +8268,25 @@ module.exports = IntegerBufferSet; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule Heap - * @typechecks - * @preventMunge +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule Heap + * @typechecks + * @preventMunge */ -/* - * @param {*} a - * @param {*} b - * @return {boolean} +/* + * @param {*} a + * @param {*} b + * @return {boolean} */ 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; }; }(); @@ -8372,8 +8307,8 @@ var Heap = function () { this._heapify(); } - /* - * @return {boolean} + /* + * @return {boolean} */ @@ -8383,8 +8318,8 @@ var Heap = function () { return this._size === 0; } - /* - * @return {*} + /* + * @return {*} */ }, { @@ -8407,8 +8342,8 @@ var Heap = function () { return elt; } - /* - * @param {*} item + /* + * @param {*} item */ }, { @@ -8418,8 +8353,8 @@ var Heap = function () { this._bubbleUp(this._size - 1); } - /* - * @return {number} + /* + * @return {number} */ }, { @@ -8428,8 +8363,8 @@ var Heap = function () { return this._size; } - /* - * @return {*} + /* + * @return {*} */ }, { @@ -8449,8 +8384,8 @@ var Heap = function () { } } - /* - * @parent {number} index + /* + * @parent {number} index */ }, { @@ -8473,8 +8408,8 @@ var Heap = function () { } } - /* - * @parent {number} index + /* + * @parent {number} index */ }, { @@ -8525,23 +8460,23 @@ module.exports = Heap; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableCellGroup - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableCellGroup + * @typechecks */ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _FixedDataTableHelper = __webpack_require__(39); +var _FixedDataTableHelper = __webpack_require__(38); var _FixedDataTableHelper2 = _interopRequireDefault(_FixedDataTableHelper); @@ -8578,15 +8513,15 @@ var DIR_SIGN = _FixedDataTableHelper2.default.DIR_SIGN; var FixedDataTableCellGroupImpl = (0, _createReactClass2.default)({ displayName: 'FixedDataTableCellGroupImpl', - /** - * PropTypes are disabled in this component, because having them on slows - * down the FixedDataTable hugely in DEV mode. You can enable them back for - * development, but please don't commit this component with enabled propTypes. + /** + * PropTypes are disabled in this component, because having them on slows + * down the FixedDataTable hugely in DEV mode. You can enable them back for + * development, but please don't commit this component with enabled propTypes. */ propTypes_DISABLED_FOR_PERFORMANCE: { - /** - * Array of . + /** + * Array of . */ columns: _propTypes2.default.array.isRequired, @@ -8602,8 +8537,8 @@ var FixedDataTableCellGroupImpl = (0, _createReactClass2.default)({ height: _propTypes2.default.number.isRequired, - /** - * Height of fixedDataTableCellGroupLayout/cellGroupWrapper. + /** + * Height of fixedDataTableCellGroupLayout/cellGroupWrapper. */ cellGroupWrapperHeight: _propTypes2.default.number, @@ -8715,24 +8650,24 @@ var FixedDataTableCellGroupImpl = (0, _createReactClass2.default)({ var FixedDataTableCellGroup = (0, _createReactClass2.default)({ displayName: 'FixedDataTableCellGroup', - /** - * PropTypes are disabled in this component, because having them on slows - * down the FixedDataTable hugely in DEV mode. You can enable them back for - * development, but please don't commit this component with enabled propTypes. + /** + * PropTypes are disabled in this component, because having them on slows + * down the FixedDataTable hugely in DEV mode. You can enable them back for + * development, but please don't commit this component with enabled propTypes. */ propTypes_DISABLED_FOR_PERFORMANCE: { isScrolling: _propTypes2.default.bool, - /** - * Height of the row. + /** + * Height of the row. */ height: _propTypes2.default.number.isRequired, offsetLeft: _propTypes2.default.number, left: _propTypes2.default.number, - /** - * Z-index on which the row will be displayed. Used e.g. for keeping - * header and footer in front of other rows. + /** + * Z-index on which the row will be displayed. Used e.g. for keeping + * header and footer in front of other rows. */ zIndex: _propTypes2.default.number.isRequired }, @@ -8796,7 +8731,7 @@ module.exports = FixedDataTableCellGroup; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _FixedDataTableCellDefault = __webpack_require__(42); +var _FixedDataTableCellDefault = __webpack_require__(41); var _FixedDataTableCellDefault2 = _interopRequireDefault(_FixedDataTableCellDefault); @@ -8804,7 +8739,7 @@ var _FixedDataTableColumnReorderHandle = __webpack_require__(74); var _FixedDataTableColumnReorderHandle2 = _interopRequireDefault(_FixedDataTableColumnReorderHandle); -var _FixedDataTableHelper = __webpack_require__(39); +var _FixedDataTableHelper = __webpack_require__(38); var _FixedDataTableHelper2 = _interopRequireDefault(_FixedDataTableHelper); @@ -8828,22 +8763,22 @@ var _joinClasses = __webpack_require__(8); var _joinClasses2 = _interopRequireDefault(_joinClasses); -var _shallowEqual = __webpack_require__(43); +var _shallowEqual = __webpack_require__(42); var _shallowEqual2 = _interopRequireDefault(_shallowEqual); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableCell - * @typechecks +function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableCell + * @typechecks */ var DIR_SIGN = _FixedDataTableHelper2.default.DIR_SIGN; @@ -8856,10 +8791,10 @@ var DEFAULT_PROPS = { var FixedDataTableCell = (0, _createReactClass2.default)({ displayName: 'FixedDataTableCell', - /** - * PropTypes are disabled in this component, because having them on slows - * down the FixedDataTable hugely in DEV mode. You can enable them back for - * development, but please don't commit this component with enabled propTypes. + /** + * PropTypes are disabled in this component, because having them on slows + * down the FixedDataTable hugely in DEV mode. You can enable them back for + * development, but please don't commit this component with enabled propTypes. */ propTypes_DISABLED_FOR_PERFORMANCE: { isScrolling: _propTypes2.default.bool, @@ -8875,38 +8810,38 @@ var FixedDataTableCell = (0, _createReactClass2.default)({ columnKey: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - /** - * The row index that will be passed to `cellRenderer` to render. + /** + * The row index that will be passed to `cellRenderer` to render. */ rowIndex: _propTypes2.default.number.isRequired, - /** - * Callback for when resizer knob (in FixedDataTableCell) is clicked - * to initialize resizing. Please note this is only on the cells - * in the header. - * @param number combinedWidth - * @param number left - * @param number width - * @param number minWidth - * @param number maxWidth - * @param number|string columnKey - * @param object event + /** + * Callback for when resizer knob (in FixedDataTableCell) is clicked + * to initialize resizing. Please note this is only on the cells + * in the header. + * @param number combinedWidth + * @param number left + * @param number width + * @param number minWidth + * @param number maxWidth + * @param number|string columnKey + * @param object event */ onColumnResize: _propTypes2.default.func, onColumnReorder: _propTypes2.default.func, - /** - * The left offset in pixels of the cell. + /** + * The left offset in pixels of the cell. */ left: _propTypes2.default.number, - /** - * Flag for enhanced performance check + /** + * Flag for enhanced performance check */ pureRendering: _propTypes2.default.bool, - /** - * Whether touch is enabled or not. + /** + * Whether touch is enabled or not. */ touchEnabled: _propTypes2.default.bool }, @@ -9130,9 +9065,9 @@ var FixedDataTableCell = (0, _createReactClass2.default)({ }, _onColumnResizerMouseDown: function _onColumnResizerMouseDown( /*object*/event) { this.props.onColumnResize(this.props.left, this.props.width, this.props.minWidth, this.props.maxWidth, this.props.columnKey, event); - /** - * This prevents the rows from moving around when we resize the - * headers on touch devices. + /** + * This prevents the rows from moving around when we resize the + * headers on touch devices. */ if (this.props.touchEnabled) { event.preventDefault(); @@ -9197,18 +9132,18 @@ var FixedDataTableColumnReorderHandle = (0, _createReactClass2.default)({ propTypes: { - /** - * When resizing is complete this is called. + /** + * When resizing is complete this is called. */ onColumnReorderEnd: _propTypes2.default.func, - /** - * Column key for the column being reordered. + /** + * Column key for the column being reordered. */ columnKey: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - /** - * Whether the reorder handle should respond to touch events or not. + /** + * Whether the reorder handle should respond to touch events or not. */ touchEnabled: _propTypes2.default.bool }, @@ -9271,9 +9206,9 @@ var FixedDataTableColumnReorderHandle = (0, _createReactClass2.default)({ this._animating = true; this.frameId = requestAnimationFrame(this._updateState); - /** - * This prevents the rows from moving around when we drag the - * headers on touch devices. + /** + * This prevents the rows from moving around when we drag the + * headers on touch devices. */ if (this.props.touchEnabled) { event.stopPropagation(); @@ -9299,19 +9234,19 @@ var FixedDataTableColumnReorderHandle = (0, _createReactClass2.default)({ }); this.props.onColumnReorderMove(this._distance); } -}); /** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * This is to be used with the FixedDataTable. It is a header icon - * that allows you to reorder the corresponding column. - * - * @providesModule FixedDataTableColumnReorderHandle - * @typechecks +}); /** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * This is to be used with the FixedDataTable. It is a header icon + * that allows you to reorder the corresponding column. + * + * @providesModule FixedDataTableColumnReorderHandle + * @typechecks */ module.exports = FixedDataTableColumnReorderHandle; @@ -9357,20 +9292,20 @@ var _cx2 = _interopRequireDefault(_cx); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * This is to be used with the FixedDataTable. It is a read line - * that when you click on a column that is resizable appears and allows - * you to resize the corresponding column. - * - * @providesModule FixedDataTableColumnResizeHandle - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * This is to be used with the FixedDataTable. It is a read line + * that when you click on a column that is resizable appears and allows + * you to resize the corresponding column. + * + * @providesModule FixedDataTableColumnResizeHandle + * @typechecks */ var FixedDataTableColumnResizeHandle = (0, _createReactClass2.default)({ @@ -9380,57 +9315,57 @@ var FixedDataTableColumnResizeHandle = (0, _createReactClass2.default)({ propTypes: { visible: _propTypes2.default.bool.isRequired, - /** - * This is the height of the line + /** + * This is the height of the line */ height: _propTypes2.default.number.isRequired, - /** - * Offset from left border of the table, please note - * that the line is a border on diff. So this is really the - * offset of the column itself. + /** + * Offset from left border of the table, please note + * that the line is a border on diff. So this is really the + * offset of the column itself. */ leftOffset: _propTypes2.default.number.isRequired, - /** - * Height of the clickable region of the line. - * This is assumed to be at the top of the line. + /** + * Height of the clickable region of the line. + * This is assumed to be at the top of the line. */ knobHeight: _propTypes2.default.number.isRequired, - /** - * The line is a border on a diff, so this is essentially - * the width of column. + /** + * The line is a border on a diff, so this is essentially + * the width of column. */ initialWidth: _propTypes2.default.number, - /** - * The minimum width this dragger will collapse to + /** + * The minimum width this dragger will collapse to */ minWidth: _propTypes2.default.number, - /** - * The maximum width this dragger will collapse to + /** + * The maximum width this dragger will collapse to */ maxWidth: _propTypes2.default.number, - /** - * Initial click event on the header cell. + /** + * Initial click event on the header cell. */ initialEvent: _propTypes2.default.object, - /** - * When resizing is complete this is called. + /** + * When resizing is complete this is called. */ onColumnResizeEnd: _propTypes2.default.func, - /** - * Column key for the column being resized. + /** + * Column key for the column being resized. */ columnKey: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - /** - * Whether the resize handle should respond to touch events or not. + /** + * Whether the resize handle should respond to touch events or not. */ touchEnabled: _propTypes2.default.bool }, @@ -9509,16 +9444,16 @@ module.exports = FixedDataTableColumnResizeHandle; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableScrollHelper - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableScrollHelper + * @typechecks */ @@ -9792,9 +9727,9 @@ var FixedDataTableScrollHelper = function () { }; } - /** - * Allows to scroll to selected row with specified offset. It always - * brings that row to top of viewport with that offset + /** + * Allows to scroll to selected row with specified offset. It always + * brings that row to top of viewport with that offset */ }, { @@ -9806,13 +9741,13 @@ var FixedDataTableScrollHelper = function () { return this.scrollTo(firstRow - offset); } - /** - * Allows to scroll to selected row by bringing it to viewport with minimal - * scrolling. This that if row is fully visible, scroll will not be changed. - * If top border of row is above top of viewport it will be scrolled to be - * fully visible on the top of viewport. If the bottom border of row is - * below end of viewport, it will be scrolled up to be fully visible on the - * bottom of viewport. + /** + * Allows to scroll to selected row by bringing it to viewport with minimal + * scrolling. This that if row is fully visible, scroll will not be changed. + * If top border of row is above top of viewport it will be scrolled to be + * fully visible on the top of viewport. If the bottom border of row is + * below end of viewport, it will be scrolled up to be fully visible on the + * bottom of viewport. */ }, { @@ -9842,17 +9777,17 @@ module.exports = FixedDataTableScrollHelper; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule PrefixIntervalTree - * - * @typechecks +/* WEBPACK VAR INJECTION */(function(global) {/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule PrefixIntervalTree + * + * @typechecks */ @@ -9879,8 +9814,8 @@ var Int32Array = global.Int32Array || function (size) { return xs; }; -/** - * Computes the next power of 2 after or equal to x. +/** + * Computes the next power of 2 after or equal to x. */ function ceilLog2(x) { var y = 1; @@ -9890,48 +9825,48 @@ function ceilLog2(x) { return y; } -/** - * A prefix interval tree stores an numeric array and the partial sums of that - * array. It is optimized for updating the values of the array without - * recomputing all of the partial sums. - * - * - O(ln n) update - * - O(1) lookup - * - O(ln n) compute a partial sum - * - O(n) space - * - * Note that the sequence of partial sums is one longer than the array, so that - * the first partial sum is always 0, and the last partial sum is the sum of the - * entire array. +/** + * A prefix interval tree stores an numeric array and the partial sums of that + * array. It is optimized for updating the values of the array without + * recomputing all of the partial sums. + * + * - O(ln n) update + * - O(1) lookup + * - O(ln n) compute a partial sum + * - O(n) space + * + * Note that the sequence of partial sums is one longer than the array, so that + * the first partial sum is always 0, and the last partial sum is the sum of the + * entire array. */ var PrefixIntervalTree = function () { function PrefixIntervalTree(xs) { _classCallCheck(this, PrefixIntervalTree); - /** - * Number of elements in the array - * - * @type {number} - * @private + /** + * Number of elements in the array + * + * @type {number} + * @private */ this._size = xs.length; - /** - * Half the size of the heap. It is also the number of non-leaf nodes, and the - * index of the first element in the heap. Always a power of 2. - * - * @type {number} - * @private + /** + * Half the size of the heap. It is also the number of non-leaf nodes, and the + * index of the first element in the heap. Always a power of 2. + * + * @type {number} + * @private */ this._half = ceilLog2(this._size); - /** - * Binary heap - * - * @type {!Array.} - * @const - * @private + /** + * Binary heap + * + * @type {!Array.} + * @const + * @private */ this._heap = new Int32Array(2 * this._half); @@ -9972,8 +9907,8 @@ var PrefixIntervalTree = function () { return this._size; } - /** - * Returns the sum get(0) + get(1) + ... + get(end - 1). + /** + * Returns the sum get(0) + get(1) + ... + get(end - 1). */ }, { @@ -9996,8 +9931,8 @@ var PrefixIntervalTree = function () { return sum; } - /** - * Returns the sum get(0) + get(1) + ... + get(inclusiveEnd). + /** + * Returns the sum get(0) + get(1) + ... + get(inclusiveEnd). */ }, { @@ -10007,8 +9942,8 @@ var PrefixIntervalTree = function () { return this.sumUntil(inclusiveEnd + 1); } - /** - * Returns the sum get(begin) + get(begin + 1) + ... + get(end - 1). + /** + * Returns the sum get(begin) + get(begin + 1) + ... + get(end - 1). */ }, { @@ -10018,9 +9953,9 @@ var PrefixIntervalTree = function () { return this.sumUntil(end) - this.sumUntil(begin); } - /** - * Returns the smallest i such that 0 <= i <= size and sumUntil(i) <= t, or - * -1 if no such i exists. + /** + * Returns the smallest i such that 0 <= i <= size and sumUntil(i) <= t, or + * -1 if no such i exists. */ }, { @@ -10048,9 +9983,9 @@ var PrefixIntervalTree = function () { return node - this._half; } - /** - * Returns the smallest i such that 0 <= i <= size and sumUntil(i) < t, or - * -1 if no such i exists. + /** + * Returns the smallest i such that 0 <= i <= size and sumUntil(i) < t, or + * -1 if no such i exists. */ }, { @@ -10078,9 +10013,9 @@ var PrefixIntervalTree = function () { return node - this._half; } - /** - * Returns the smallest i such that 0 <= i <= size and t <= sumUntil(i), or - * size + 1 if no such i exists. + /** + * Returns the smallest i such that 0 <= i <= size and t <= sumUntil(i), or + * size + 1 if no such i exists. */ }, { @@ -10089,9 +10024,9 @@ var PrefixIntervalTree = function () { return this.greatestStrictLowerBound(t) + 1; } - /** - * Returns the smallest i such that 0 <= i <= size and t < sumUntil(i), or - * size + 1 if no such i exists. + /** + * Returns the smallest i such that 0 <= i <= size and t < sumUntil(i), or + * size + 1 if no such i exists. */ }, { @@ -10127,16 +10062,16 @@ module.exports = PrefixIntervalTree; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule FixedDataTableWidthHelper - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule FixedDataTableWidthHelper + * @typechecks */ @@ -10272,43 +10207,43 @@ module.exports = FixedDataTableWidthHelper; "use strict"; -/** - * Copyright Schrodinger, LLC - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule debounceCore - * @typechecks +/** + * Copyright Schrodinger, LLC + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule debounceCore + * @typechecks */ -/** - * Invokes the given callback after a specified number of milliseconds have - * elapsed, ignoring subsequent calls. - * - * For example, if you wanted to update a preview after the user stops typing - * you could do the following: - * - * elem.addEventListener('keyup', debounce(this.updatePreview, 250), false); - * - * The returned function has a reset method which can be called to cancel a - * pending invocation. - * - * var debouncedUpdatePreview = debounce(this.updatePreview, 250); - * elem.addEventListener('keyup', debouncedUpdatePreview, false); - * - * // later, to cancel pending calls - * debouncedUpdatePreview.reset(); - * - * @param {function} func - the function to debounce - * @param {number} wait - how long to wait in milliseconds - * @param {*} context - optional context to invoke the function in - * @param {?function} setTimeoutFunc - an implementation of setTimeout - * if nothing is passed in the default setTimeout function is used - * @param {?function} clearTimeoutFunc - an implementation of clearTimeout - * if nothing is passed in the default clearTimeout function is used +/** + * Invokes the given callback after a specified number of milliseconds have + * elapsed, ignoring subsequent calls. + * + * For example, if you wanted to update a preview after the user stops typing + * you could do the following: + * + * elem.addEventListener('keyup', debounce(this.updatePreview, 250), false); + * + * The returned function has a reset method which can be called to cancel a + * pending invocation. + * + * var debouncedUpdatePreview = debounce(this.updatePreview, 250); + * elem.addEventListener('keyup', debouncedUpdatePreview, false); + * + * // later, to cancel pending calls + * debouncedUpdatePreview.reset(); + * + * @param {function} func - the function to debounce + * @param {number} wait - how long to wait in milliseconds + * @param {*} context - optional context to invoke the function in + * @param {?function} setTimeoutFunc - an implementation of setTimeout + * if nothing is passed in the default setTimeout function is used + * @param {?function} clearTimeoutFunc - an implementation of clearTimeout + * if nothing is passed in the default clearTimeout function is used */ function debounce(func, wait, context, setTimeoutFunc, clearTimeoutFunc) { setTimeoutFunc = setTimeoutFunc || setTimeout; diff --git a/dist/fixed-data-table.min.css b/dist/fixed-data-table.min.css index ec0b9ae4..4de5b13c 100644 --- a/dist/fixed-data-table.min.css +++ b/dist/fixed-data-table.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table.min.js b/dist/fixed-data-table.min.js index a5159401..2a7c4fc0 100644 --- a/dist/fixed-data-table.min.js +++ b/dist/fixed-data-table.min.js @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.8.12 + * FixedDataTable v0.8.13 * * Copyright Schrodinger, LLC * All rights reserved. @@ -9,4 +9,4 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.FixedDataTable=t(require("react"),require("react-dom")):e.FixedDataTable=t(e.React,e.ReactDOM)}("undefined"!=typeof self?self:this,function(e,t){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var o={};return t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=46)}([function(e,t,o){"use strict";e.exports=o(32)},function(e,t,o){(function(t){if("production"!==t.env.NODE_ENV){var n="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,i=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n};e.exports=o(51)(i,!0)}else e.exports=o(53)()}).call(t,o(4))},function(e,t,o){"use strict";function n(e){return a[e]?a[e]:(a[e]=e.replace(s,"_"),a[e])}function i(e){var t;return t="object"==(void 0===e?"undefined":r(e))?Object.keys(e).filter(function(t){return e[t]}):Array.prototype.slice.call(arguments),t.map(n).join(" ")}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=/\//g,a={};e.exports=i},function(e,t,o){"use strict";var n=o(32),i=o(49);if(void 0===n)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var r=(new n.Component).updater;e.exports=i(n.Component,n.isValidElement,r)},function(e,t){function o(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(e){if(c===setTimeout)return setTimeout(e,0);if((c===o||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function r(e){if(h===clearTimeout)return clearTimeout(e);if((h===n||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(t){try{return h.call(null,e)}catch(t){return h.call(this,e)}}}function s(){m&&f&&(m=!1,f.length?p=f.concat(p):_=-1,p.length&&a())}function a(){if(!m){var e=i(s);m=!0;for(var t=p.length;t;){for(f=p,p=[];++_1)for(var o=1;o1)for(var n=1;n3&&void 0!==arguments[3]&&arguments[3]?(e.left=t+"px",e.top=o+"px"):(0,r.default)(e,t,o)}var i=o(65),r=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=n},function(e,t,o){"use strict";function n(e,t,o){return eo?o:e}e.exports=n},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t,o){"use strict";(function(t){var n=o(26),i=n;if("production"!==t.env.NODE_ENV){var r=function(e){for(var t=arguments.length,o=Array(t>1?t-1:0),n=1;n2?o-2:0),i=2;i0){var n=e.touches[0];t=n.clientX,o=n.clientY}return{x:t,y:o}}var i={getCoordinatesFromEvent:n};e.exports=i},function(e,t,o){"use strict";var n={isRTL:function(){return!1},getDirection:function(){return"LTR"}};e.exports=n},function(t,o){t.exports=e},function(e,t,o){"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},o=0;o<10;o++)t["_"+String.fromCharCode(o)]=o;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var o,a,l=n(e),u=1;ul&&(e=l);var u=!!this._mouseMoveTracker&&this._mouseMoveTracker.isDragging(),c={faceSize:a,isDragging:u,isHorizontal:r,position:e,scale:s,scrollable:!0};return this._stateKey=i,this._stateForKey=c,c},_onWheelY:function(e,t){this._onWheel(t)},_onWheelX:function(e,t){this._onWheel(e)},_onWheel:function(e){var t=this.props;this._setNextState(this._calculateState(this.state.position+e,t.size,t.contentSize,t.orientation))},_onMouseDown:function(e){var t;if(e.target!==m.default.findDOMNode(this.face)){var o=e.nativeEvent,n=this.state.isHorizontal?o.offsetX||o.layerX:o.offsetY||o.layerY,i=this.props;n/=this.state.scale,t=this._calculateState(n-.5*this.state.faceSize/this.state.scale,i.size,i.contentSize,i.orientation)}else t={};t.focused=!0,this._setNextState(t),this._mouseMoveTracker.captureMouseMoves(e),m.default.findDOMNode(this).focus()},_onMouseMove:function(e,t){var o=this.props,n=this.state.isHorizontal?e:t;n/=this.state.scale,this._setNextState(this._calculateState(this.state.position+n,o.size,o.contentSize,o.orientation))},_onMouseMoveEnd:function(){this._nextState=null,this._mouseMoveTracker.releaseMouseMoves(),this.setState({isDragging:!1})},_onKeyDown:function(e){var t=e.keyCode;if(t!==a.default.TAB){var o=40,n=0;if(this.state.isHorizontal)switch(t){case a.default.HOME:n=-1,o=this.props.contentSize;break;case a.default.LEFT:n=-1;break;case a.default.RIGHT:n=1;break;default:return}if(!this.state.isHorizontal)switch(t){case a.default.SPACE:n=e.shiftKey?-1:1;break;case a.default.HOME:n=-1,o=this.props.contentSize;break;case a.default.UP:n=-1;break;case a.default.DOWN:n=1;break;case a.default.PAGE_UP:n=-1,o=this.props.size;break;case a.default.PAGE_DOWN:n=1,o=this.props.size;break;default:return}e.preventDefault();var i=this.props;this._setNextState(this._calculateState(this.state.position+o*n,i.size,i.contentSize,i.orientation))}},_onFocus:function(){this.setState({focused:!0})},_onBlur:function(){this.setState({focused:!1})},_blur:function(){var e=m.default.findDOMNode(this);if(e)try{this._onBlur(),e.blur()}catch(e){}},_setNextState:function(e,t){t=t||this.props;var o=t.position,n=this.state.position!==e.position;if(void 0===o){var i=n?this._didScroll:void 0;this.setState(e,i)}else{if(o!==e.position)return void(void 0!==e.position&&e.position!==this.state.position&&this.props.onScroll(e.position));this.setState(e)}n&&k!==this&&(k&&k._blur(),k=this)},_didScroll:function(){this.props.onScroll(this.state.position)}});O.KEYBOARD_SCROLL_AMOUNT=40,O.SIZE=parseInt((0,y.default)("scrollbar-size"),10),O.OFFSET=1,e.exports=O},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){for(var t=0;t0,"fixedDataTableRowLayout/columnsShadow":n.props.scrollLeft>0,"public/fixedDataTableRow/fixedColumnsDivider":e>0,"public/fixedDataTableRow/columnsShadow":n.props.scrollLeft>0}),o=n.props.cellGroupWrapperHeight?n.props.cellGroupWrapperHeight-x:n.props.height,i={left:e,height:o};return c.default.createElement("div",{className:t,style:i})},n._renderFixedRightColumnsShadow=function(e){var t=(0,v.default)("fixedDataTableRowLayout/columnsShadow","fixedDataTableRowLayout/columnsRightShadow","fixedDataTableRowLayout/fixedColumnsDivider","public/fixedDataTableRow/columnsShadow","public/fixedDataTableRow/columnsRightShadow","public/fixedDataTableRow/fixedColumnsDivider"),o={height:n.props.height,left:e};return c.default.createElement("div",{className:t,style:o})},n._renderColumnsRightShadow=function(e){if(Math.ceil(n.props.scrollLeft+n.props.width)=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=Object.assign||function(e){for(var t=1;t0||e>=0&&this.state.scrollX0||e>=0&&this.state.scrollYn?n:this.state.height>n&&this.props.ownerHeight?Math.max(n,this.props.ownerHeight):this.state.height+this.state.maxScrollY,e!==this._contentHeight&&this.props.onContentHeightChange&&this.props.onContentHeightChange(e),this._contentHeight=e},componentDidMount:function(){this._reportContentHeight()},componentWillReceiveProps:function(e){e.overflowX,e.overflowY;this.props.ownerHeight===e.ownerHeight&&this.props.scrollTop===e.scrollTop&&this.props.scrollLeft===e.scrollLeft||this._didScrollStart(),this._didScrollStop.reset(),this._didScrollStopSync(),this.setState(this._calculateState(e,this.state))},componentDidUpdate:function(){this._reportContentHeight()},_onRef:function(e){this._wheelHandler.setRoot(e)},render:function(){var e,t=this.state,o=this.props,n=o.onColumnReorderEndCallback?this._onColumnReorder:null,i=this.state.maxScrollY,r=t.maxScrollX>0&&"hidden"!==t.overflowX&&!1!==t.showScrollbarX,a=this._showScrollbarY(t);t.useGroupHeader&&(e=s.default.createElement(C.default,{key:"group_header",isScrolling:this._isScrolling,className:(0,W.default)((0,O.default)("fixedDataTableLayout/header"),(0,O.default)("public/fixedDataTable/header")),width:t.width,height:t.groupHeaderHeight,cellGroupWrapperHeight:t.cellGroupWrapperHeight,index:0,zIndex:1,offsetTop:0,scrollLeft:t.scrollX,fixedColumns:t.groupHeaderFixedColumns,fixedRightColumns:t.groupHeaderFixedRightColumns,scrollableColumns:t.groupHeaderScrollableColumns,onColumnResize:this._onColumnResize,onColumnReorder:n,onColumnReorderMove:this._onColumnReorderMove,showScrollbarY:a}));var l=r?v.default.SIZE:0,u=t.height-l-2-t.footerHeight,c=t.useGroupHeader?t.groupHeaderHeight:0,h=c+t.headerHeight;u-=h;var d=0,f=null!=o.maxHeight?h+t.bodyHeight:h+u,p=f+t.footerHeight;void 0!==o.ownerHeight&&o.ownerHeightt.ownerHeight||t.scrollYthis.props.width-s-100?n=Math.min(n+15,this.state.maxScrollX):r<=100&&(n=Math.max(n-15,0)),t.dragDistance+=this.state.scrollX-t.scrollStart}this.setState({scrollX:n,columnReorderingData:t})},_onColumnReorderEnd:function(e,t){var o=this.state.columnReorderingData.columnBefore,n=this.state.columnReorderingData.columnAfter,i=this.state.columnReorderingData.columnKey,r=this.state.columnReorderingData.cancelReorder;if(this.setState({isColumnReordering:!1,columnReorderingData:{}}),!r){this.props.onColumnReorderEndCallback({columnBefore:o,columnAfter:n,reorderColumn:i});var s=this.props.onHorizontalScroll;this.state.columnReorderingData.scrollStart!==this.state.scrollX&&s&&s(this.state.scrollX)}},_areColumnSettingsIdentical:function(e,t){if(e.length!==t.length)return!1;for(var o=0;o or "),o.push(e))});var n,r=t&&t.firstRowIndex||0,s=t&&t.firstRowOffset||0,a=t?t.scrollY:0,l=t?t.scrollX:0,u=t?t.scrollLeft:0;if(void 0!==e.scrollLeft&&e.scrollLeft!==u&&(l=e.scrollLeft),!t||e.rowsCount===t.rowsCount&&e.rowHeight===t.rowHeight&&e.height===t.height)t&&(e.rowHeightGetter!==t.rowHeightGetter&&this._scrollHelper.setRowHeightGetter(e.rowHeightGetter),e.subRowHeightGetter!==t.subRowHeightGetter&&this._scrollHelper.setSubRowHeightGetter(e.subRowHeightGetter));else{var c=(void 0===e.height?e.maxHeight:e.height)-(e.headerHeight||0)-(e.footerHeight||0)-(e.groupHeaderHeight||0),h=this._scrollHelper._viewportHeight;this._scrollHelper=new S.default(e.rowsCount,e.rowHeight,c,e.rowHeightGetter,e.subRowHeight,e.subRowHeightGetter),n=this._scrollHelper.scrollToRow(r,s),r=n.index,s=n.offset,a=n.position}var d=!1,f=0;o.length&&o[0].type.__TableColumnGroup__&&(d=!0,f=e.groupHeaderHeight);var p=void 0===e.height,m=Math.round(p?e.maxHeight:e.height),_=e.footerHeight+e.headerHeight+f+2,g=m-_,w=this._scrollHelper.getContentHeight(),b=w+_,y=Math.max(0,w-g),R=e.width;y&&(R=R-v.default.SIZE-1);var x=t?t.scrollToRow:void 0;null==e.scrollToRow||e.scrollToRow===x&&c===h||(n=this._scrollHelper.scrollRowIntoView(e.scrollToRow),r=n.index,s=n.offset,a=n.position);var C=t?t.scrollTop:void 0;null!=e.scrollTop&&e.scrollTop!==C&&(n=this._scrollHelper.scrollTo(e.scrollTop),r=n.index,s=n.offset,a=n.position);var E,T=void 0===e.isColumnResizing&&t&&t.isColumnResizing;E=e.isColumnResizing||T?t&&t.columnResizingData:U;var D,H;if(d){var k=M.default.adjustColumnGroupWidths(o,R);D=k.columns,H=k.columnGroups}else D=M.default.adjustColumnWidths(o,R);var O=this._populateColumnsAndColumnData(D,H,t),N=t?t.scrollToColumn:void 0;if(null!==e.scrollToColumn&&e.scrollToColumn!==N&&O.bodyScrollableColumns.length>0){var I=O.bodyFixedColumns.length;if(e.scrollToColumn>=I){var P,z,F=0;for(P=0;PY&&(l=Y)}}var B=M.default.getTotalWidth(D),q=B>R&&"hidden"!==e.overflowX&&!1!==e.showScrollbarX;if(q){g-=v.default.SIZE,b+=v.default.SIZE,_+=v.default.SIZE;var K=R===e.width;y=Math.max(0,w-g),K&&y&&(R=R-v.default.SIZE-1)}var Z=Math.max(0,B-R);l=Math.min(l,Z),a=Math.min(a,y),y||(p&&(m=b),g=b-_),this._scrollHelper.setViewportHeight(g);var J=Math.abs(s-this._scrollHelper.getRowPosition(r));J!==a&&(J=y,n=this._scrollHelper.scrollTo(J),r=n.index,s=n.offset,a=n.position);var $=e.cellGroupWrapperHeight;return i({isColumnResizing:t&&t.isColumnResizing},O,e,{columns:D,columnGroups:H,columnResizingData:E,firstRowIndex:r,firstRowOffset:s,horizontalScrollbarVisible:q,maxScrollX:Z,maxScrollY:y,reservedHeight:_,scrollContentHeight:w,scrollX:l,scrollY:a,bodyHeight:g,height:m,cellGroupWrapperHeight:$,groupHeaderHeight:f,useGroupHeader:d})},_showScrollbarY:function(e){return e.maxScrollY>0&&"hidden"!==e.overflowY&&!1!==e.showScrollbarY},_selectColumnElement:function(e,t){for(var o=[],n=0;nMath.abs(e)&&"hidden"!==this.props.overflowY){var n=this._scrollHelper.scrollBy(Math.round(t)),i=this.props.onVerticalScroll;if(!i||i(n.position)){var r=Math.max(0,n.contentHeight-this.state.bodyHeight);this.setState({firstRowIndex:n.index,firstRowOffset:n.offset,scrollY:n.position,scrollContentHeight:n.contentHeight,maxScrollY:r})}}else if(e&&"hidden"!==this.props.overflowX){o+=e,o=o<0?0:o,o=o>this.state.maxScrollX?this.state.maxScrollX:o;var s=Math.round(o),a=this.props.onHorizontalScroll;a&&!a(s)||this.setState({scrollX:s})}this._didScrollStop()},_onHorizontalScroll:function(e){if(e!==this.state.scrollX){this._isScrolling||this._didScrollStart();var t=Math.round(e),o=this.props.onHorizontalScroll;o&&!o(t)||this.setState({scrollX:t}),this._didScrollStop()}},_onVerticalScroll:function(e){if(e!==this.state.scrollY){this._isScrolling||this._didScrollStart();var t=this._scrollHelper.scrollTo(Math.round(e)),o=this.props.onVerticalScroll;o&&!o(t.position)||(this.setState({firstRowIndex:t.index,firstRowOffset:t.offset,scrollY:t.position,scrollContentHeight:t.contentHeight}),this._didScrollStop())}},_didScrollStart:function(){this._isScrolling||(this._isScrolling=!0,this.props.onScrollStart&&this.props.onScrollStart(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))},_didScrollStopSync:function(){this._isScrolling&&(this._isScrolling=!1,this.setState({redraw:!0}),this.props.onScrollEnd&&this.props.onScrollEnd(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))}}),q=(0,l.default)({displayName:"HorizontalScrollbar",mixins:[d.default],propTypes:{contentSize:c.default.number.isRequired,offset:c.default.number.isRequired,onScroll:c.default.func.isRequired,position:c.default.number.isRequired,size:c.default.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={height:v.default.SIZE,width:this.props.size},t={height:v.default.SIZE,position:"absolute",overflow:"hidden",width:this.props.size};return(0,X.default)(t,0,this.props.offset,this._initialRender),s.default.createElement("div",{className:(0,W.default)((0,O.default)("fixedDataTableLayout/horizontalScrollbar"),(0,O.default)("public/fixedDataTable/horizontalScrollbar")),style:e},s.default.createElement("div",{style:t},s.default.createElement(v.default,i({},this.props,{isOpaque:!0,orientation:"horizontal",offset:void 0}))))}});e.exports=B},function(e,t,o){"use strict";(function(t){function n(e){return e}function i(e,o,i){function h(e,o,n){for(var i in o)o.hasOwnProperty(i)&&"production"!==t.env.NODE_ENV&&l("function"==typeof o[i],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactClass",u[n],i)}function d(e,t){var o=R.hasOwnProperty(t)?R[t]:null;T.hasOwnProperty(t)&&a("OVERRIDE_BASE"===o,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&a("DEFINE_MANY"===o||"DEFINE_MANY_MERGED"===o,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function f(e,n){if(n){a("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),a(!o(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var i=e.prototype,r=i.__reactAutoBindPairs;n.hasOwnProperty(c)&&C.mixins(e,n.mixins);for(var s in n)if(n.hasOwnProperty(s)&&s!==c){var u=n[s],h=i.hasOwnProperty(s);if(d(h,s),C.hasOwnProperty(s))C[s](e,u);else{var f=R.hasOwnProperty(s),p="function"==typeof u,m=p&&!f&&!h&&!1!==n.autobind;if(m)r.push(s,u),i[s]=u;else if(h){var v=R[s];a(f&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,s),"DEFINE_MANY_MERGED"===v?i[s]=_(i[s],u):"DEFINE_MANY"===v&&(i[s]=g(i[s],u))}else i[s]=u,"production"!==t.env.NODE_ENV&&"function"==typeof u&&n.displayName&&(i[s].displayName=n.displayName+"_"+s)}}}else if("production"!==t.env.NODE_ENV){var w=typeof n,b="object"===w&&null!==n;"production"!==t.env.NODE_ENV&&l(b,"%s: You're attempting to include a mixin that is either null or not an object. Check the mixins included by the component, as well as any mixins they include themselves. Expected object but got %s.",e.displayName||"ReactClass",null===n?null:w)}}function p(e,t){if(t)for(var o in t){var n=t[o];if(t.hasOwnProperty(o)){var i=o in C;a(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',o);var r=o in e;if(r){var s=x.hasOwnProperty(o)?x[o]:null;return a("DEFINE_MANY_MERGED"===s,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",o),void(e[o]=_(e[o],n))}e[o]=n}}}function m(e,t){a(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var o in t)t.hasOwnProperty(o)&&(a(void 0===e[o],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",o),e[o]=t[o]);return e}function _(e,t){return function(){var o=e.apply(this,arguments),n=t.apply(this,arguments);if(null==o)return n;if(null==n)return o;var i={};return m(i,o),m(i,n),i}}function g(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function v(e,o){var n=o.bind(e);if("production"!==t.env.NODE_ENV){n.__reactBoundContext=e,n.__reactBoundMethod=o,n.__reactBoundArguments=null;var i=e.constructor.displayName,r=n.bind;n.bind=function(s){for(var a=arguments.length,u=Array(a>1?a-1:0),c=1;ci},ie64:function(){return b.ie()&&p},firefox:function(){return n()||r},opera:function(){return n()||s},webkit:function(){return n()||a},safari:function(){return b.webkit()},chrome:function(){return n()||l},windows:function(){return n()||h},osx:function(){return n()||c},linux:function(){return n()||d},iphone:function(){return n()||m},mobile:function(){return n()||m||_||f||v},nativeApp:function(){return n()||g},android:function(){return n()||f},ipad:function(){return n()||_}};e.exports=b},function(e,t,o){"use strict";function n(e,t){if(!s.default.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,n=o in document;if(!n){var r=document.createElement("div");r.setAttribute(o,"return;"),n="function"==typeof r[o]}return!n&&i&&"wheel"===e&&(n=document.implementation.hasFeature("Events.wheel","3.0")),n}var i,r=o(35),s=function(e){return e&&e.__esModule?e:{default:e}}(r);s.default.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=n},function(e,t,o){"use strict";(function(t){var o=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame;e.exports=o}).call(t,o(6))},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;o2||Math.abs(this._deltaY)>2)&&(this._stopPropagation()&&e.stopPropagation(),r=!0),!0===r&&null===this._dragAnimationId&&(this._dragAnimationId=(0,u.default)(this._didTouchMove))}}},{key:"_didTouchMove",value:function(){this._dragAnimationId=null,this._onTouchScrollCallback(this._deltaX,this._deltaY),this._accumulatedDeltaX+=this._deltaX,this._accumulatedDeltaY+=this._deltaY,this._deltaX=0,this._deltaY=0}},{key:"_track",value:function(){var e=Date.now(),t=e-this._lastFrameTimestamp,o=this._velocityX,n=this._velocityY,i=.8;t<100&&(i*=t/100),0===o&&0===n&&(i=1),this._velocityX=i*(100*this._accumulatedDeltaX/(1+t)),i<1&&(this._velocityX+=(1-i)*o),this._velocityY=i*(100*this._accumulatedDeltaY/(1+t)),i<1&&(this._velocityY+=(1-i)*n),this._accumulatedDeltaX=0,this._accumulatedDeltaY=0,this._lastFrameTimestamp=e}},{key:"_startAutoScroll",value:function(){this._autoScrollTimestamp=Date.now(),(this._deltaX>0||this.deltaY>0)&&this._didTouchMove(),this._track(),this._autoScroll()}},{key:"_autoScroll",value:function(){var e=Date.now()-this._autoScrollTimestamp,t=1.6*Math.exp(-e/325),o=t*this._velocityX,n=t*this._velocityY;(Math.abs(o)<=5||!this._handleScrollX(o,n))&&(o=0),(Math.abs(n)<=5||!this._handleScrollY(n,o))&&(n=0),0===o&&0===n||(this._onTouchScrollCallback(o,n),(0,u.default)(this._autoScroll))}}]),e}();e.exports=c},function(e,t,o){"use strict";var n=o(5),i=function(e){return e&&e.__esModule?e:{default:e}}(n),r={listen:function(e,t,o){return e.addEventListener?(e.addEventListener(t,o,!1),{remove:function(){e.removeEventListener(t,o,!1)}}):e.attachEvent?(e.attachEvent("on"+t,o),{remove:function(){e.detachEvent("on"+t,o)}}):void 0},capture:function(e,t,o){return e.addEventListener?(e.addEventListener(t,o,!0),{remove:function(){e.removeEventListener(t,o,!0)}}):{remove:i.default}},registerDefault:function(){}};e.exports=r},function(e,t,o){"use strict";(function(t){var o=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||t.clearTimeout;e.exports=o}).call(t,o(6))},function(e,t,o){"use strict";e.exports={BACKSPACE:8,TAB:9,RETURN:13,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,COMMA:188,PERIOD:190,A:65,Z:90,ZERO:48,NUMPAD_0:96,NUMPAD_9:105}},function(e,t,o){"use strict";e.exports=o(63)},function(e,o){e.exports=t},function(e,t,o){"use strict";function n(e){if(i.hasOwnProperty(e))return i[e];throw new Error('cssVar("'+e+'"): Unexpected class transformation.')}var i={"scrollbar-face-active-color":"#7d7d7d","scrollbar-face-color":"#c2c2c2","scrollbar-face-margin":"4px","scrollbar-face-radius":"6px","scrollbar-size":"15px","scrollbar-size-large":"17px","scrollbar-track-color":"#fff","border-color":"#d3d3d3","fbui-white":"#fff","fbui-desktop-background-light":"#f6f7f8"};n.CSS_VARS=i,e.exports=n},function(e,t,o){"use strict";(function(t){function n(e){return e&&e.__esModule?e:{default:e}}var i=o(66),r=n(i),s=o(37),a=n(s),l=(0,a.default)("transform"),u=(0,a.default)("backfaceVisibility"),c=function(){if(r.default.hasCSSTransforms()){var e=t.window?t.window.navigator.userAgent:"UNKNOWN";return!(/Safari\//.test(e)&&!/Chrome\//.test(e))&&r.default.hasCSS3DTransforms()?function(e,t,o){e[l]="translate3d("+t+"px,"+o+"px,0)",e[u]="hidden"}:function(e,t,o){e[l]="translate("+t+"px,"+o+"px)"}}return function(e,t,o){e.left=t+"px",e.top=o+"px"}}();e.exports=c}).call(t,o(6))},function(e,t,o){"use strict";var n=o(37),i=function(e){return e&&e.__esModule?e:{default:e}}(n),r={hasCSSAnimations:function(){return!!(0,i.default)("animationName")},hasCSSTransforms:function(){return!!(0,i.default)("transform")},hasCSS3DTransforms:function(){return!!(0,i.default)("perspective")},hasCSSTransitions:function(){return!!(0,i.default)("transition")}};e.exports=r},function(e,t,o){"use strict";function n(e){return e.replace(i,function(e,t){return t.toUpperCase()})}var i=/-(.)/g;e.exports=n},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=o(0),r=n(i),s=o(3),a=n(s),l=o(1),u=n(l),c=o(69),h=n(c),d=o(38),f=n(d),p=o(2),m=n(p),_=o(5),g=n(_),v=o(8),w=n(v),b=(0,a.default)({displayName:"FixedDataTableBufferedRows",propTypes:{bufferRowCount:u.default.number,isScrolling:u.default.bool,defaultRowHeight:u.default.number.isRequired,firstRowIndex:u.default.number.isRequired,firstRowOffset:u.default.number.isRequired,fixedColumns:u.default.array.isRequired,fixedRightColumns:u.default.array.isRequired,height:u.default.number.isRequired,offsetTop:u.default.number.isRequired,onRowClick:u.default.func,onRowDoubleClick:u.default.func,onRowContextMenu:u.default.func,onRowMouseDown:u.default.func,onRowMouseUp:u.default.func,onRowMouseEnter:u.default.func,onRowMouseLeave:u.default.func,onRowTouchStart:u.default.func,onRowTouchEnd:u.default.func,onRowTouchMove:u.default.func,rowClassNameGetter:u.default.func,rowsCount:u.default.number.isRequired,rowHeightGetter:u.default.func,subRowHeight:u.default.number,subRowHeightGetter:u.default.func,rowExpanded:u.default.oneOfType([u.default.element,u.default.func]),rowKeyGetter:u.default.func,rowPositionGetter:u.default.func.isRequired,scrollLeft:u.default.number.isRequired,scrollableColumns:u.default.array.isRequired,showLastRowBorder:u.default.bool,width:u.default.number.isRequired},getInitialState:function(){return this._rowBuffer=new h.default(this.props.rowsCount,this.props.defaultRowHeight,this.props.height,this._getRowHeight,this.props.bufferRowCount),{rowsToRender:this._rowBuffer.getRows(this.props.firstRowIndex,this.props.firstRowOffset)}},componentWillMount:function(){this._staticRowArray=[],this._initialRender=!0},componentDidMount:function(){setTimeout(this._updateBuffer,1e3),this._initialRender=!1},componentWillReceiveProps:function(e){e.rowsCount===this.props.rowsCount&&e.defaultRowHeight===this.props.defaultRowHeight&&e.height===this.props.height||(this._rowBuffer=new h.default(e.rowsCount,e.defaultRowHeight,e.height,this._getRowHeight,this.props.bufferRowCount)),this.props.isScrolling&&!e.isScrolling?this._updateBuffer():this.setState({rowsToRender:this._rowBuffer.getRows(e.firstRowIndex,e.firstRowOffset)})},_updateBuffer:function(){this._rowBuffer&&this.setState({rowsToRender:this._rowBuffer.getRowsWithUpdatedBuffer()})},shouldComponentUpdate:function(){return!0},componentWillUnmount:function(){this._rowBuffer=null,this._staticRowArray.length=0},render:function(){var e=this.props,t=e.rowClassNameGetter||g.default,o=e.rowPositionGetter,n=this.state.rowsToRender,i=n.slice().sort(function(e,t){return e-t}),s={};i.forEach(function(e){s[e]=o(e)}),this._staticRowArray.length=n.length;for(var a=e.firstRowOffset-e.rowPositionGetter(e.firstRowIndex)+e.offsetTop,l=0;l0;)this._addRowToBuffer(t,this._viewportRowsBegin,this._viewportRowsEnd-1),t++,e--;return this._rows}},{key:"getRows",value:function(e,t){var o=t,n=o,i=e,r=Math.min(e+this._maxVisibleRowCount,this._rowsCount);for(this._viewportRowsBegin=e;i=r&&(n=this._bufferSet.replaceFurthestValuePosition(t,o,e)),null===n?(n=this._bufferSet.getNewPositionForValue(e),this._rows[n]=e):this._rows[n]=e}}]),e}();e.exports=p},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;o=e&&i<=t)return null;var r;e-n>i-t?(r=n,this._smallValues.pop()):(r=i,this._largeValues.pop());var s=this._valueToPositionMap[r];return delete this._valueToPositionMap[r],this._valueToPositionMap[o]=s,this._pushToHeaps(s,o),s}},{key:"_pushToHeaps",value:function(e,t){var o={position:e,value:t};this._smallValues.push(o),this._largeValues.push(o)}},{key:"_cleanHeaps",value:function(){this._cleanHeap(this._smallValues),this._cleanHeap(this._largeValues);var e=Math.min(this._smallValues.size(),this._largeValues.size());Math.max(this._smallValues.size(),this._largeValues.size())>10*e&&this._recreateHeaps()}},{key:"_recreateHeaps",value:function(){for(var e=this._smallValues.size()t.value}}]),e}();e.exports=c},function(e,t,o){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return e0&&(this._items[0]=t,this._sinkDown(0)),e}}},{key:"push",value:function(e){this._items[this._size++]=e,this._bubbleUp(this._size-1)}},{key:"size",value:function(){return this._size}},{key:"peek",value:function(){if(0!==this._size)return this._items[0]}},{key:"_heapify",value:function(){for(var e=Math.floor((this._size+1)/2);e>=0;e--)this._sinkDown(e)}},{key:"_bubbleUp",value:function(e){for(var t=this._items[e];e>0;){var o=Math.floor((e+1)/2)-1,n=this._items[o];if(this._comparator(n,t))return;this._items[o]=t,this._items[e]=n,e=o}}},{key:"_sinkDown",value:function(e){for(var t=this._items[e];;){var o=2*(e+1)-1,n=2*(e+1),i=-1;if(o=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o}var r=Object.assign||function(e){for(var t=1;t=0){var c=l.columnKey||"cell_"+s;o[s]=this._renderCell(e.rowIndex,e.rowHeight,l,r,c,n,i)}r+=l.width}var h={height:e.height,position:"absolute",width:n,zIndex:e.zIndex};return(0,w.default)(h,-1*b*e.left,0,this._initialRender),u.default.createElement("div",{className:(0,g.default)("fixedDataTableCellGroupLayout/cellGroup"),style:h},o)},_renderCell:function(e,t,o,n,i,r,s){var a=o.isResizable&&this.props.onColumnResize,l=a?this.props.onColumnResize:null,c=o.isReorderable&&this.props.onColumnReorder&&-1===e&&r!==o.width,h=c?this.props.onColumnReorder:null,d=o.cellClassName,f=o.pureRendering||!1;return u.default.createElement(m.default,{isScrolling:this.props.isScrolling,align:o.align,className:d,height:t,key:i,maxWidth:o.maxWidth,minWidth:o.minWidth,touchEnabled:this.props.touchEnabled,onColumnResize:l,onColumnReorder:h,onColumnReorderMove:this.props.onColumnReorderMove,onColumnReorderEnd:this.props.onColumnReorderEnd,isColumnReordering:s,columnReorderingData:this.props.columnReorderingData,rowIndex:e,columnKey:o.columnKey,width:o.width,left:n,cell:o.cell,columnGroupWidth:r,pureRendering:f})},_getColumnsWidth:function(e){for(var t=0,o=0;o=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o}var r=Object.assign||function(e){for(var t=1;tl,c=n>e.left,h=!1;u?il&&(h=!0,o.displacement=c?0:-1*e.columnReorderingData.columnWidth),h?u?e.columnReorderingData.columnAfter||(e.columnReorderingData.columnAfter=e.columnKey):e.columnReorderingData.columnBefore=e.columnKey:u?e.columnReorderingData.columnBefore=e.columnKey:e.columnReorderingData.columnAfter||(e.columnReorderingData.columnAfter=e.columnKey)}}else o.displacement=0;this.setState(o)},getDefaultProps:function(){return E},render:function(){var e=this.props,t=e.height,o=e.width,n=e.columnKey,s=i(e,["height","width","columnKey"]),l={height:t,width:o};1===C?l.left=s.left:l.right=s.left,this.state.isReorderingThisColumn&&(l.transform="translateX("+this.state.displacement+"px) translateZ(0)",l.zIndex=1);var c,h=(0,y.default)((0,w.default)({"fixedDataTableCellLayout/main":!0,"fixedDataTableCellLayout/lastChild":s.lastChild,"fixedDataTableCellLayout/alignRight":"right"===s.align,"fixedDataTableCellLayout/alignCenter":"center"===s.align,"public/fixedDataTableCell/alignRight":"right"===s.align,"public/fixedDataTableCell/highlighted":s.highlighted,"public/fixedDataTableCell/main":!0,"public/fixedDataTableCell/hasReorderHandle":!!s.onColumnReorder,"public/fixedDataTableCell/reordering":this.state.isReorderingThisColumn}),s.className);if(s.onColumnResize){var d=function(e){e.preventDefault(),e.stopPropagation()},p={height:t};c=f.default.createElement("div",{className:(0,w.default)("fixedDataTableCellLayout/columnResizerContainer"),style:p,onMouseDown:this._onColumnResizerMouseDown,onTouchStart:this.props.touchEnabled?this._onColumnResizerMouseDown:null,onTouchEnd:this.props.touchEnabled?d:null,onTouchMove:this.props.touchEnabled?d:null},f.default.createElement("div",{className:(0,y.default)((0,w.default)("fixedDataTableCellLayout/columnResizerKnob"),(0,w.default)("public/fixedDataTableCell/columnResizerKnob")),style:p}))}var m;s.onColumnReorder&&(m=f.default.createElement(u.default,r({columnKey:this.columnKey,touchEnabled:this.props.touchEnabled,onMouseDown:this._onColumnReorderMouseDown,onTouchStart:this._onColumnReorderMouseDown,height:t},this.props)));var _={columnKey:n,height:t,width:o};s.rowIndex>=0&&(_.rowIndex=s.rowIndex);var g;return g=f.default.isValidElement(s.cell)?f.default.cloneElement(s.cell,_):"function"==typeof s.cell?s.cell(_):f.default.createElement(a.default,_,s.cell),f.default.createElement("div",{className:h,style:l},c,m,g)},_onColumnResizerMouseDown:function(e){this.props.onColumnResize(this.props.left,this.props.width,this.props.minWidth,this.props.maxWidth,this.props.columnKey,e),this.props.touchEnabled&&(e.preventDefault(),e.stopPropagation())},_onColumnReorderMouseDown:function(e){this.props.onColumnReorder(this.props.columnKey,this.props.width,this.props.left,e)}});e.exports=S},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=o(29),r=n(i),s=o(31),a=(n(s),o(0)),l=n(a),u=o(3),c=n(u),h=o(1),d=n(h),f=o(10),p=n(f),m=o(30),_=n(m),g=o(12),v=(n(g),o(2)),w=n(v),b=(0,c.default)({displayName:"FixedDataTableColumnReorderHandle",mixins:[p.default],propTypes:{onColumnReorderEnd:d.default.func,columnKey:d.default.oneOfType([d.default.string,d.default.number]),touchEnabled:d.default.bool},getInitialState:function(){return{dragDistance:0}},componentWillReceiveProps:function(e){},componentWillUnmount:function(){this._mouseMoveTracker&&(cancelAnimationFrame(this.frameId),this.frameId=null,this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null)},render:function(){var e={height:this.props.height};return l.default.createElement("div",{className:(0,w.default)({"fixedDataTableCellLayout/columnReorderContainer":!0,"fixedDataTableCellLayout/columnReorderContainer/active":!1}),onMouseDown:this.onMouseDown,onTouchStart:this.props.touchEnabled?this.onMouseDown:null,onTouchEnd:this.props.touchEnabled?function(e){return e.stopPropagation()}:null,onTouchMove:this.props.touchEnabled?function(e){return e.stopPropagation()}:null,style:e})},onMouseDown:function(e){var t=e.target.getBoundingClientRect(),o=_.default.getCoordinatesFromEvent(e),n=o.x-t.offsetLeft,i=n+e.target.parentElement.offsetLeft;this._mouseMoveTracker=new r.default(this._onMove,this._onColumnReorderEnd,document.body,this.props.touchEnabled),this._mouseMoveTracker.captureMouseMoves(e),this.setState({dragDistance:0}),this.props.onMouseDown({columnKey:this.props.columnKey,mouseLocation:{dragDistance:0,inElement:n,inColumnGroup:i}}),this._distance=0,this._animating=!0,this.frameId=requestAnimationFrame(this._updateState),this.props.touchEnabled&&e.stopPropagation()},_onMove:function(e){this._distance=this.state.dragDistance+e},_onColumnReorderEnd:function(e){this._animating=!1,cancelAnimationFrame(this.frameId),this.frameId=null,this._mouseMoveTracker.releaseMouseMoves(),this.props.columnReorderingData.cancelReorder=e,this.props.onColumnReorderEnd()},_updateState:function(){this._animating&&(this.frameId=requestAnimationFrame(this._updateState)),this.setState({dragDistance:this._distance}),this.props.onColumnReorderMove(this._distance)}});e.exports=b},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=o(29),r=n(i),s=o(31),a=n(s),l=o(0),u=n(l),c=o(3),h=n(c),d=o(1),f=n(d),p=o(10),m=n(p),_=o(12),g=n(_),v=o(2),w=n(v),b=(0,h.default)({displayName:"FixedDataTableColumnResizeHandle",mixins:[m.default],propTypes:{visible:f.default.bool.isRequired,height:f.default.number.isRequired,leftOffset:f.default.number.isRequired,knobHeight:f.default.number.isRequired,initialWidth:f.default.number,minWidth:f.default.number,maxWidth:f.default.number,initialEvent:f.default.object,onColumnResizeEnd:f.default.func,columnKey:f.default.oneOfType([f.default.string,f.default.number]),touchEnabled:f.default.bool},getInitialState:function(){return{width:0,cursorDelta:0}},componentWillReceiveProps:function(e){e.initialEvent&&!this._mouseMoveTracker.isDragging()&&(this._mouseMoveTracker.captureMouseMoves(e.initialEvent),this.setState({width:e.initialWidth,cursorDelta:e.initialWidth}))},componentDidMount:function(){this._mouseMoveTracker=new r.default(this._onMove,this._onColumnResizeEnd,document.body,this.props.touchEnabled)},componentWillUnmount:function(){this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null},render:function(){var e={width:this.state.width,height:this.props.height};return a.default.isRTL()?e.right=this.props.leftOffset:e.left=this.props.leftOffset,u.default.createElement("div",{className:(0,w.default)({"fixedDataTableColumnResizerLineLayout/main":!0,"fixedDataTableColumnResizerLineLayout/hiddenElem":!this.props.visible,"public/fixedDataTableColumnResizerLine/main":!0}),style:e},u.default.createElement("div",{className:(0,w.default)("fixedDataTableColumnResizerLineLayout/mouseArea"),style:{height:this.props.height}}))},_onMove:function(e){a.default.isRTL()&&(e=-e);var t=this.state.cursorDelta+e,o=(0,g.default)(t,this.props.minWidth,this.props.maxWidth);this.setState({width:o,cursorDelta:t})},_onColumnResizeEnd:function(){this._mouseMoveTracker.releaseMouseMoves(),this.props.onColumnResizeEnd(this.state.width,this.props.columnKey)}});e.exports=b},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;o4&&void 0!==arguments[4]?arguments[4]:0,u=arguments[5];i(this,e);var c=o+l;this._rowOffsets=a.default.uniform(t,c),this._storedHeights=new Array(t);for(var h=0;h=0&&t>=e-5;){var o=this._updateRowHeight(t);this._position+=o,t--}}},{key:"_updateRowHeight",value:function(e){if(e<0||e>=this._rowCount)return 0;var t=this._fullRowHeightGetter(e);if(t!==this._storedHeights[e]){var o=t-this._storedHeights[e];return this._rowOffsets.set(e,t),this._storedHeights[e]=t,this._contentHeight+=o,o}return 0}},{key:"getRowPosition",value:function(e){return this._updateRowHeight(e),this._rowOffsets.sumUntil(e)}},{key:"scrollBy",value:function(e){if(0===this._rowCount)return c;var t=this._rowOffsets.greatestLowerBound(this._position);t=(0,u.default)(t,0,Math.max(this._rowCount-1,0));var o=this._rowOffsets.sumUntil(t),n=t,i=this._position,r=this._updateRowHeight(n);0!==o&&(i+=r);var s=this._storedHeights[n]-(i-o);if(e>=0)for(;e>0&&n0&&n>=0;)if(e=0){var l=this._updateRowHeight(n);a=this._storedHeights[n],i+=l}}var h=this._contentHeight-this._viewportHeight;i=(0,u.default)(i,0,h),this._position=i;var d=this._rowOffsets.greatestLowerBound(i);d=(0,u.default)(d,0,Math.max(this._rowCount-1,0)),o=this._rowOffsets.sumUntil(d);var f=o-i;return this._updateHeightsInViewport(d,f),this._updateHeightsAboveViewport(d),{index:d,offset:f,position:this._position,contentHeight:this._contentHeight}}},{key:"_getRowAtEndPosition",value:function(e){this._updateRowHeight(e);for(var t=e,o=this._storedHeights[t];o=0;)--t>=0&&(this._updateRowHeight(t),o+=this._storedHeights[t]);var n=this._rowOffsets.sumTo(e)-this._viewportHeight;return n<0&&(n=0),n}},{key:"scrollTo",value:function(e){if(0===this._rowCount)return c;if(e<=0)return this._position=0,this._updateHeightsInViewport(0,0),{index:0,offset:0,position:this._position,contentHeight:this._contentHeight};if(e>=this._contentHeight-this._viewportHeight){var t=this._rowCount-1;e=this._getRowAtEndPosition(t)}this._position=e;var o=this._rowOffsets.greatestLowerBound(e);o=(0,u.default)(o,0,Math.max(this._rowCount-1,0));var n=this._rowOffsets.sumUntil(o),i=n-e;return this._updateHeightsInViewport(o,i),this._updateHeightsAboveViewport(o),{index:o,offset:i,position:this._position,contentHeight:this._contentHeight}}},{key:"scrollToRow",value:function(e,t){e=(0,u.default)(e,0,Math.max(this._rowCount-1,0)),t=(0,u.default)(t,-this._storedHeights[e],0);var o=this._rowOffsets.sumUntil(e);return this.scrollTo(o-t)}},{key:"scrollRowIntoView",value:function(e){e=(0,u.default)(e,0,Math.max(this._rowCount-1,0)),this._updateRowHeight(e);var t=this._rowOffsets.sumUntil(e),o=t+this._storedHeights[e];if(t=0;--o)t[o]=0;return t},c=function(){function e(t){n(this,e),this._size=t.length,this._half=i(this._size),this._heap=new u(2*this._half);var o;for(o=0;o0;--o)this._heap[o]=this._heap[2*o]+this._heap[2*o+1]}return r(e,[{key:"set",value:function(e,t){(0,a.default)(0<=e&&e=0;--i)n[i]=o;return new e(n)}},{key:"empty",value:function(t){return e.uniform(t,0)}}]),e}();e.exports=c}).call(t,o(6))},function(e,t,o){"use strict";function n(e){for(var t=0,o=0;o1)for(var o=1;o1)for(var n=1;n3&&void 0!==arguments[3]&&arguments[3]?(e.left=t+"px",e.top=o+"px"):(0,r.default)(e,t,o)}var i=o(65),r=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=n},function(e,t,o){"use strict";function n(e,t,o){return eo?o:e}e.exports=n},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t,o){"use strict";(function(t){var n=o(26),i=n;if("production"!==t.env.NODE_ENV){var r=function(e){for(var t=arguments.length,o=Array(t>1?t-1:0),n=1;n2?o-2:0),i=2;i0){var n=e.touches[0];t=n.clientX,o=n.clientY}return{x:t,y:o}}var i={getCoordinatesFromEvent:n};e.exports=i},function(e,t,o){"use strict";var n={isRTL:function(){return!1},getDirection:function(){return"LTR"}};e.exports=n},function(t,o){t.exports=e},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;ol&&(e=l);var u=!!this._mouseMoveTracker&&this._mouseMoveTracker.isDragging(),h={faceSize:a,isDragging:u,isHorizontal:r,position:e,scale:s,scrollable:!0};return this._stateKey=i,this._stateForKey=h,h},_onWheelY:function(e,t){this._onWheel(t)},_onWheelX:function(e,t){this._onWheel(e)},_onWheel:function(e){var t=this.props;this._setNextState(this._calculateState(this.state.position+e,t.size,t.contentSize,t.orientation))},_onMouseDown:function(e){var t;if(e.target!==m.default.findDOMNode(this.face)){var o=e.nativeEvent,n=this.state.isHorizontal?o.offsetX||o.layerX:o.offsetY||o.layerY,i=this.props;n/=this.state.scale,t=this._calculateState(n-.5*this.state.faceSize/this.state.scale,i.size,i.contentSize,i.orientation)}else t={};t.focused=!0,this._setNextState(t),this._mouseMoveTracker.captureMouseMoves(e),m.default.findDOMNode(this).focus()},_onMouseMove:function(e,t){var o=this.props,n=this.state.isHorizontal?e:t;n/=this.state.scale,this._setNextState(this._calculateState(this.state.position+n,o.size,o.contentSize,o.orientation))},_onMouseMoveEnd:function(){this._nextState=null,this._mouseMoveTracker.releaseMouseMoves(),this.setState({isDragging:!1})},_onKeyDown:function(e){var t=e.keyCode;if(t!==a.default.TAB){var o=40,n=0;if(this.state.isHorizontal)switch(t){case a.default.HOME:n=-1,o=this.props.contentSize;break;case a.default.LEFT:n=-1;break;case a.default.RIGHT:n=1;break;default:return}if(!this.state.isHorizontal)switch(t){case a.default.SPACE:n=e.shiftKey?-1:1;break;case a.default.HOME:n=-1,o=this.props.contentSize;break;case a.default.UP:n=-1;break;case a.default.DOWN:n=1;break;case a.default.PAGE_UP:n=-1,o=this.props.size;break;case a.default.PAGE_DOWN:n=1,o=this.props.size;break;default:return}e.preventDefault();var i=this.props;this._setNextState(this._calculateState(this.state.position+o*n,i.size,i.contentSize,i.orientation))}},_onFocus:function(){this.setState({focused:!0})},_onBlur:function(){this.setState({focused:!1})},_blur:function(){var e=m.default.findDOMNode(this);if(e)try{this._onBlur(),e.blur()}catch(e){}},_setNextState:function(e,t){t=t||this.props;var o=t.position,n=this.state.position!==e.position;if(void 0===o){var i=n?this._didScroll:void 0;this.setState(e,i)}else{if(o!==e.position)return void(void 0!==e.position&&e.position!==this.state.position&&this.props.onScroll(e.position));this.setState(e)}n&&k!==this&&(k&&k._blur(),k=this)},_didScroll:function(){this.props.onScroll(this.state.position)}});O.KEYBOARD_SCROLL_AMOUNT=40,O.SIZE=parseInt((0,y.default)("scrollbar-size"),10),O.OFFSET=1,e.exports=O},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){for(var t=0;t0,"fixedDataTableRowLayout/columnsShadow":n.props.scrollLeft>0,"public/fixedDataTableRow/fixedColumnsDivider":e>0,"public/fixedDataTableRow/columnsShadow":n.props.scrollLeft>0}),o=n.props.cellGroupWrapperHeight?n.props.cellGroupWrapperHeight-x:n.props.height,i={left:e,height:o};return h.default.createElement("div",{className:t,style:i})},n._renderFixedRightColumnsShadow=function(e){var t=(0,v.default)("fixedDataTableRowLayout/columnsShadow","fixedDataTableRowLayout/columnsRightShadow","fixedDataTableRowLayout/fixedColumnsDivider","public/fixedDataTableRow/columnsShadow","public/fixedDataTableRow/columnsRightShadow","public/fixedDataTableRow/fixedColumnsDivider"),o={height:n.props.height,left:e};return h.default.createElement("div",{className:t,style:o})},n._renderColumnsRightShadow=function(e){if(Math.ceil(n.props.scrollLeft+n.props.width) should never render")}}]),t}(u.default.Component);d.__TableColumnGroup__=!0,d.propTypes={align:c.default.oneOf(["left","center","right"]),fixed:c.default.bool,header:c.default.oneOfType([c.default.node,c.default.func])},d.defaultProps={fixed:!1},e.exports=d},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var o=0;o should never render")}}]),t}(u.default.Component);d.__TableColumn__=!0,d.propTypes={align:c.default.oneOf(["left","center","right"]),fixed:c.default.bool,fixedRight:c.default.bool,header:c.default.oneOfType([c.default.node,c.default.func]),cell:c.default.oneOfType([c.default.node,c.default.func]),footer:c.default.oneOfType([c.default.node,c.default.func]),columnKey:c.default.oneOfType([c.default.string,c.default.number]),width:c.default.number.isRequired,minWidth:c.default.number,maxWidth:c.default.number,flexGrow:c.default.number,isResizable:c.default.bool,isReorderable:c.default.bool,allowCellsRecycling:c.default.bool,pureRendering:c.default.bool},d.defaultProps={allowCellsRecycling:!1,fixed:!1,fixedRight:!1},e.exports=d},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var o={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=Object.assign||function(e){for(var t=1;t0||e>=0&&this.state.scrollX0||e>=0&&this.state.scrollYn?n:this.state.height>n&&this.props.ownerHeight?Math.max(n,this.props.ownerHeight):this.state.height+this.state.maxScrollY,e!==this._contentHeight&&this.props.onContentHeightChange&&this.props.onContentHeightChange(e),this._contentHeight=e},componentDidMount:function(){this._reportContentHeight()},componentWillReceiveProps:function(e){e.overflowX,e.overflowY;this.props.ownerHeight===e.ownerHeight&&this.props.scrollTop===e.scrollTop&&this.props.scrollLeft===e.scrollLeft||this._didScrollStart(),this._didScrollStop.reset(),this._didScrollStopSync(),this.setState(this._calculateState(e,this.state))},componentDidUpdate:function(){this._reportContentHeight()},_onRef:function(e){this.props.stopReactWheelPropagation&&this._wheelHandler.setRoot(e)},render:function(){var e,t=this.state,o=this.props,n=o.onColumnReorderEndCallback?this._onColumnReorder:null,i=this.state.maxScrollY,r=t.maxScrollX>0&&"hidden"!==t.overflowX&&!1!==t.showScrollbarX,a=this._showScrollbarY(t);t.useGroupHeader&&(e=s.default.createElement(C.default,{key:"group_header",isScrolling:this._isScrolling,className:(0,W.default)((0,O.default)("fixedDataTableLayout/header"),(0,O.default)("public/fixedDataTable/header")),width:t.width,height:t.groupHeaderHeight,cellGroupWrapperHeight:t.cellGroupWrapperHeight,index:0,zIndex:1,offsetTop:0,scrollLeft:t.scrollX,fixedColumns:t.groupHeaderFixedColumns,fixedRightColumns:t.groupHeaderFixedRightColumns,scrollableColumns:t.groupHeaderScrollableColumns,onColumnResize:this._onColumnResize,onColumnReorder:n,onColumnReorderMove:this._onColumnReorderMove,showScrollbarY:a}));var l=r?v.default.SIZE:0,u=t.height-l-2-t.footerHeight,h=t.useGroupHeader?t.groupHeaderHeight:0,c=h+t.headerHeight;u-=c;var d=0,f=null!=o.maxHeight?c+t.bodyHeight:c+u,p=f+t.footerHeight;void 0!==o.ownerHeight&&o.ownerHeightt.ownerHeight||t.scrollYthis.props.width-s-100?n=Math.min(n+15,this.state.maxScrollX):r<=100&&(n=Math.max(n-15,0)),t.dragDistance+=this.state.scrollX-t.scrollStart}this.setState({scrollX:n,columnReorderingData:t})},_onColumnReorderEnd:function(e,t){var o=this.state.columnReorderingData.columnBefore,n=this.state.columnReorderingData.columnAfter,i=this.state.columnReorderingData.columnKey,r=this.state.columnReorderingData.cancelReorder;if(this.setState({isColumnReordering:!1,columnReorderingData:{}}),!r){this.props.onColumnReorderEndCallback({columnBefore:o,columnAfter:n,reorderColumn:i});var s=this.props.onHorizontalScroll;this.state.columnReorderingData.scrollStart!==this.state.scrollX&&s&&s(this.state.scrollX)}},_areColumnSettingsIdentical:function(e,t){if(e.length!==t.length)return!1;for(var o=0;o or "),o.push(e))});var n,r=t&&t.firstRowIndex||0,s=t&&t.firstRowOffset||0,a=t?t.scrollY:0,l=t?t.scrollX:0,u=t?t.scrollLeft:0;if(void 0!==e.scrollLeft&&e.scrollLeft!==u&&(l=e.scrollLeft),!t||e.rowsCount===t.rowsCount&&e.rowHeight===t.rowHeight&&e.height===t.height)t&&(e.rowHeightGetter!==t.rowHeightGetter&&this._scrollHelper.setRowHeightGetter(e.rowHeightGetter),e.subRowHeightGetter!==t.subRowHeightGetter&&this._scrollHelper.setSubRowHeightGetter(e.subRowHeightGetter));else{var h=(void 0===e.height?e.maxHeight:e.height)-(e.headerHeight||0)-(e.footerHeight||0)-(e.groupHeaderHeight||0),c=this._scrollHelper._viewportHeight;this._scrollHelper=new S.default(e.rowsCount,e.rowHeight,h,e.rowHeightGetter,e.subRowHeight,e.subRowHeightGetter),n=this._scrollHelper.scrollToRow(r,s),r=n.index,s=n.offset,a=n.position}var d=!1,f=0;o.length&&o[0].type.__TableColumnGroup__&&(d=!0,f=e.groupHeaderHeight);var p=void 0===e.height,m=Math.round(p?e.maxHeight:e.height),_=e.footerHeight+e.headerHeight+f+2,g=m-_,w=this._scrollHelper.getContentHeight(),b=w+_,y=Math.max(0,w-g),R=e.width;y&&(R=R-v.default.SIZE-1);var x=t?t.scrollToRow:void 0;null==e.scrollToRow||e.scrollToRow===x&&h===c||(n=this._scrollHelper.scrollRowIntoView(e.scrollToRow),r=n.index,s=n.offset,a=n.position);var C=t?t.scrollTop:void 0;null!=e.scrollTop&&e.scrollTop!==C&&(n=this._scrollHelper.scrollTo(e.scrollTop),r=n.index,s=n.offset,a=n.position);var T,E=void 0===e.isColumnResizing&&t&&t.isColumnResizing;T=e.isColumnResizing||E?t&&t.columnResizingData:U;var D,H;if(d){var k=M.default.adjustColumnGroupWidths(o,R);D=k.columns,H=k.columnGroups}else D=M.default.adjustColumnWidths(o,R);var O=this._populateColumnsAndColumnData(D,H,t),N=t?t.scrollToColumn:void 0;if(null!==e.scrollToColumn&&e.scrollToColumn!==N&&O.bodyScrollableColumns.length>0){var I=O.bodyFixedColumns.length;if(e.scrollToColumn>=I){var P,z,F=0;for(P=0;PY&&(l=Y)}}var B=M.default.getTotalWidth(D),q=B>R&&"hidden"!==e.overflowX&&!1!==e.showScrollbarX;if(q){g-=v.default.SIZE,b+=v.default.SIZE,_+=v.default.SIZE;var K=R===e.width;y=Math.max(0,w-g),K&&y&&(R=R-v.default.SIZE-1)}var Z=Math.max(0,B-R);l=Math.min(l,Z),a=Math.min(a,y),y||(p&&(m=b),g=b-_),this._scrollHelper.setViewportHeight(g);var J=Math.abs(s-this._scrollHelper.getRowPosition(r));J!==a&&(J=y,n=this._scrollHelper.scrollTo(J),r=n.index,s=n.offset,a=n.position);var $=e.cellGroupWrapperHeight;return i({isColumnResizing:t&&t.isColumnResizing},O,e,{columns:D,columnGroups:H,columnResizingData:T,firstRowIndex:r,firstRowOffset:s,horizontalScrollbarVisible:q,maxScrollX:Z,maxScrollY:y,reservedHeight:_,scrollContentHeight:w,scrollX:l,scrollY:a,bodyHeight:g,height:m,cellGroupWrapperHeight:$,groupHeaderHeight:f,useGroupHeader:d})},_showScrollbarY:function(e){return e.maxScrollY>0&&"hidden"!==e.overflowY&&!1!==e.showScrollbarY},_selectColumnElement:function(e,t){for(var o=[],n=0;nMath.abs(e)&&"hidden"!==this.props.overflowY){var n=this._scrollHelper.scrollBy(Math.round(t)),i=this.props.onVerticalScroll;if(!i||i(n.position)){var r=Math.max(0,n.contentHeight-this.state.bodyHeight);this.setState({firstRowIndex:n.index,firstRowOffset:n.offset,scrollY:n.position,scrollContentHeight:n.contentHeight,maxScrollY:r})}}else if(e&&"hidden"!==this.props.overflowX){o+=e,o=o<0?0:o,o=o>this.state.maxScrollX?this.state.maxScrollX:o;var s=Math.round(o),a=this.props.onHorizontalScroll;a&&!a(s)||this.setState({scrollX:s})}this._didScrollStop()},_onHorizontalScroll:function(e){if(e!==this.state.scrollX){this._isScrolling||this._didScrollStart();var t=Math.round(e),o=this.props.onHorizontalScroll;o&&!o(t)||this.setState({scrollX:t}),this._didScrollStop()}},_onVerticalScroll:function(e){if(e!==this.state.scrollY){this._isScrolling||this._didScrollStart();var t=this._scrollHelper.scrollTo(Math.round(e)),o=this.props.onVerticalScroll;o&&!o(t.position)||(this.setState({firstRowIndex:t.index,firstRowOffset:t.offset,scrollY:t.position,scrollContentHeight:t.contentHeight}),this._didScrollStop())}},_didScrollStart:function(){this._isScrolling||(this._isScrolling=!0,this.props.onScrollStart&&this.props.onScrollStart(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))},_didScrollStopSync:function(){this._isScrolling&&(this._isScrolling=!1,this.setState({redraw:!0}),this.props.onScrollEnd&&this.props.onScrollEnd(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))}}),q=(0,l.default)({displayName:"HorizontalScrollbar",mixins:[d.default],propTypes:{contentSize:h.default.number.isRequired,offset:h.default.number.isRequired,onScroll:h.default.func.isRequired,position:h.default.number.isRequired,size:h.default.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={height:v.default.SIZE,width:this.props.size},t={height:v.default.SIZE,position:"absolute",overflow:"hidden",width:this.props.size};return(0,X.default)(t,0,this.props.offset,this._initialRender),s.default.createElement("div",{className:(0,W.default)((0,O.default)("fixedDataTableLayout/horizontalScrollbar"),(0,O.default)("public/fixedDataTable/horizontalScrollbar")),style:e},s.default.createElement("div",{style:t},s.default.createElement(v.default,i({},this.props,{isOpaque:!0,orientation:"horizontal",offset:void 0}))))}});e.exports=B},function(e,t,o){"use strict";(function(t){function n(e){return e}function i(e,o,i){function c(e,o,n){for(var i in o)o.hasOwnProperty(i)&&"production"!==t.env.NODE_ENV&&l("function"==typeof o[i],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactClass",u[n],i)}function d(e,t){var o=R.hasOwnProperty(t)?R[t]:null;S.hasOwnProperty(t)&&a("OVERRIDE_BASE"===o,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&a("DEFINE_MANY"===o||"DEFINE_MANY_MERGED"===o,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function f(e,n){if(n){a("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),a(!o(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var i=e.prototype,r=i.__reactAutoBindPairs;n.hasOwnProperty(h)&&x.mixins(e,n.mixins);for(var s in n)if(n.hasOwnProperty(s)&&s!==h){var u=n[s],c=i.hasOwnProperty(s);if(d(c,s),x.hasOwnProperty(s))x[s](e,u);else{var f=R.hasOwnProperty(s),p="function"==typeof u,m=p&&!f&&!c&&!1!==n.autobind;if(m)r.push(s,u),i[s]=u;else if(c){var v=R[s];a(f&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,s),"DEFINE_MANY_MERGED"===v?i[s]=_(i[s],u):"DEFINE_MANY"===v&&(i[s]=g(i[s],u))}else i[s]=u,"production"!==t.env.NODE_ENV&&"function"==typeof u&&n.displayName&&(i[s].displayName=n.displayName+"_"+s)}}}else if("production"!==t.env.NODE_ENV){var w=typeof n,b="object"===w&&null!==n;"production"!==t.env.NODE_ENV&&l(b,"%s: You're attempting to include a mixin that is either null or not an object. Check the mixins included by the component, as well as any mixins they include themselves. Expected object but got %s.",e.displayName||"ReactClass",null===n?null:w)}}function p(e,t){if(t)for(var o in t){var n=t[o];if(t.hasOwnProperty(o)){var i=o in x;a(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',o);var r=o in e;a(!r,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",o),e[o]=n}}}function m(e,t){a(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var o in t)t.hasOwnProperty(o)&&(a(void 0===e[o],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",o),e[o]=t[o]);return e}function _(e,t){return function(){var o=e.apply(this,arguments),n=t.apply(this,arguments);if(null==o)return n;if(null==n)return o;var i={};return m(i,o),m(i,n),i}}function g(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function v(e,o){var n=o.bind(e);if("production"!==t.env.NODE_ENV){n.__reactBoundContext=e,n.__reactBoundMethod=o,n.__reactBoundArguments=null;var i=e.constructor.displayName,r=n.bind;n.bind=function(s){for(var a=arguments.length,u=Array(a>1?a-1:0),h=1;hi},ie64:function(){return b.ie()&&p},firefox:function(){return n()||r},opera:function(){return n()||s},webkit:function(){return n()||a},safari:function(){return b.webkit()},chrome:function(){return n()||l},windows:function(){return n()||c},osx:function(){return n()||h},linux:function(){return n()||d},iphone:function(){return n()||m},mobile:function(){return n()||m||_||f||v},nativeApp:function(){return n()||g},android:function(){return n()||f},ipad:function(){return n()||_}};e.exports=b},function(e,t,o){"use strict";function n(e,t){if(!s.default.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,n=o in document;if(!n){var r=document.createElement("div");r.setAttribute(o,"return;"),n="function"==typeof r[o]}return!n&&i&&"wheel"===e&&(n=document.implementation.hasFeature("Events.wheel","3.0")),n}var i,r=o(34),s=function(e){return e&&e.__esModule?e:{default:e}}(r);s.default.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=n},function(e,t,o){"use strict";(function(t){var o=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame;e.exports=o}).call(t,o(6))},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;o2||Math.abs(this._deltaY)>2)&&(this._stopPropagation()&&e.stopPropagation(),r=!0),!0===r&&null===this._dragAnimationId&&(this._dragAnimationId=(0,u.default)(this._didTouchMove))}}},{key:"_didTouchMove",value:function(){this._dragAnimationId=null,this._onTouchScrollCallback(this._deltaX,this._deltaY),this._accumulatedDeltaX+=this._deltaX,this._accumulatedDeltaY+=this._deltaY,this._deltaX=0,this._deltaY=0}},{key:"_track",value:function(){var e=Date.now(),t=e-this._lastFrameTimestamp,o=this._velocityX,n=this._velocityY,i=.8;t<100&&(i*=t/100),0===o&&0===n&&(i=1),this._velocityX=i*(100*this._accumulatedDeltaX/(1+t)),i<1&&(this._velocityX+=(1-i)*o),this._velocityY=i*(100*this._accumulatedDeltaY/(1+t)),i<1&&(this._velocityY+=(1-i)*n),this._accumulatedDeltaX=0,this._accumulatedDeltaY=0,this._lastFrameTimestamp=e}},{key:"_startAutoScroll",value:function(){this._autoScrollTimestamp=Date.now(),(this._deltaX>0||this.deltaY>0)&&this._didTouchMove(),this._track(),this._autoScroll()}},{key:"_autoScroll",value:function(){var e=Date.now()-this._autoScrollTimestamp,t=1.6*Math.exp(-e/325),o=t*this._velocityX,n=t*this._velocityY;(Math.abs(o)<=5||!this._handleScrollX(o,n))&&(o=0),(Math.abs(n)<=5||!this._handleScrollY(n,o))&&(n=0),0===o&&0===n||(this._onTouchScrollCallback(o,n),(0,u.default)(this._autoScroll))}}]),e}();e.exports=h},function(e,t,o){"use strict";var n=o(5),i=function(e){return e&&e.__esModule?e:{default:e}}(n),r={listen:function(e,t,o){return e.addEventListener?(e.addEventListener(t,o,!1),{remove:function(){e.removeEventListener(t,o,!1)}}):e.attachEvent?(e.attachEvent("on"+t,o),{remove:function(){e.detachEvent("on"+t,o)}}):void 0},capture:function(e,t,o){return e.addEventListener?(e.addEventListener(t,o,!0),{remove:function(){e.removeEventListener(t,o,!0)}}):(console.error("Attempted to listen to events during the capture phase on a browser that does not support the capture phase. Your application will not receive some events."),{remove:i.default})},registerDefault:function(){}};e.exports=r},function(e,t,o){"use strict";(function(t){var o=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||t.clearTimeout;e.exports=o}).call(t,o(6))},function(e,t,o){"use strict";e.exports={BACKSPACE:8,TAB:9,RETURN:13,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,COMMA:188,PERIOD:190,A:65,Z:90,ZERO:48,NUMPAD_0:96,NUMPAD_9:105}},function(e,t,o){"use strict";e.exports=o(63)},function(e,o){e.exports=t},function(e,t,o){"use strict";function n(e){if(i.hasOwnProperty(e))return i[e];throw new Error('cssVar("'+e+'"): Unexpected class transformation.')}var i={"scrollbar-face-active-color":"#7d7d7d","scrollbar-face-color":"#c2c2c2","scrollbar-face-margin":"4px","scrollbar-face-radius":"6px","scrollbar-size":"15px","scrollbar-size-large":"17px","scrollbar-track-color":"#fff","border-color":"#d3d3d3","fbui-white":"#fff","fbui-desktop-background-light":"#f6f7f8"};n.CSS_VARS=i,e.exports=n},function(e,t,o){"use strict";(function(t){function n(e){return e&&e.__esModule?e:{default:e}}var i=o(66),r=n(i),s=o(36),a=n(s),l=(0,a.default)("transform"),u=(0,a.default)("backfaceVisibility"),h=function(){if(r.default.hasCSSTransforms()){var e=t.window?t.window.navigator.userAgent:"UNKNOWN";return!(/Safari\//.test(e)&&!/Chrome\//.test(e))&&r.default.hasCSS3DTransforms()?function(e,t,o){e[l]="translate3d("+t+"px,"+o+"px,0)",e[u]="hidden"}:function(e,t,o){e[l]="translate("+t+"px,"+o+"px)"}}return function(e,t,o){e.left=t+"px",e.top=o+"px"}}();e.exports=h}).call(t,o(6))},function(e,t,o){"use strict";var n=o(36),i=function(e){return e&&e.__esModule?e:{default:e}}(n),r={hasCSSAnimations:function(){return!!(0,i.default)("animationName")},hasCSSTransforms:function(){return!!(0,i.default)("transform")},hasCSS3DTransforms:function(){return!!(0,i.default)("perspective")},hasCSSTransitions:function(){return!!(0,i.default)("transition")}};e.exports=r},function(e,t,o){"use strict";function n(e){return e.replace(i,function(e,t){return t.toUpperCase()})}var i=/-(.)/g;e.exports=n},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=o(0),r=n(i),s=o(3),a=n(s),l=o(1),u=n(l),h=o(69),c=n(h),d=o(37),f=n(d),p=o(2),m=n(p),_=o(5),g=n(_),v=o(8),w=n(v),b=(0,a.default)({displayName:"FixedDataTableBufferedRows",propTypes:{bufferRowCount:u.default.number,isScrolling:u.default.bool,defaultRowHeight:u.default.number.isRequired,firstRowIndex:u.default.number.isRequired,firstRowOffset:u.default.number.isRequired,fixedColumns:u.default.array.isRequired,fixedRightColumns:u.default.array.isRequired,height:u.default.number.isRequired,offsetTop:u.default.number.isRequired,onRowClick:u.default.func,onRowDoubleClick:u.default.func,onRowContextMenu:u.default.func,onRowMouseDown:u.default.func,onRowMouseUp:u.default.func,onRowMouseEnter:u.default.func,onRowMouseLeave:u.default.func,onRowTouchStart:u.default.func,onRowTouchEnd:u.default.func,onRowTouchMove:u.default.func,rowClassNameGetter:u.default.func,rowsCount:u.default.number.isRequired,rowHeightGetter:u.default.func,subRowHeight:u.default.number,subRowHeightGetter:u.default.func,rowExpanded:u.default.oneOfType([u.default.element,u.default.func]),rowKeyGetter:u.default.func,rowPositionGetter:u.default.func.isRequired,scrollLeft:u.default.number.isRequired,scrollableColumns:u.default.array.isRequired,showLastRowBorder:u.default.bool,width:u.default.number.isRequired},getInitialState:function(){return this._rowBuffer=new c.default(this.props.rowsCount,this.props.defaultRowHeight,this.props.height,this._getRowHeight,this.props.bufferRowCount),{rowsToRender:this._rowBuffer.getRows(this.props.firstRowIndex,this.props.firstRowOffset)}},componentWillMount:function(){this._staticRowArray=[],this._initialRender=!0},componentDidMount:function(){setTimeout(this._updateBuffer,1e3),this._initialRender=!1},componentWillReceiveProps:function(e){e.rowsCount===this.props.rowsCount&&e.defaultRowHeight===this.props.defaultRowHeight&&e.height===this.props.height||(this._rowBuffer=new c.default(e.rowsCount,e.defaultRowHeight,e.height,this._getRowHeight,this.props.bufferRowCount)),this.props.isScrolling&&!e.isScrolling?this._updateBuffer():this.setState({rowsToRender:this._rowBuffer.getRows(e.firstRowIndex,e.firstRowOffset)})},_updateBuffer:function(){this._rowBuffer&&this.setState({rowsToRender:this._rowBuffer.getRowsWithUpdatedBuffer()})},shouldComponentUpdate:function(){return!0},componentWillUnmount:function(){this._rowBuffer=null,this._staticRowArray.length=0},render:function(){var e=this.props,t=e.rowClassNameGetter||g.default,o=e.rowPositionGetter,n=this.state.rowsToRender,i=n.slice().sort(function(e,t){return e-t}),s={};i.forEach(function(e){s[e]=o(e)}),this._staticRowArray.length=n.length;for(var a=e.firstRowOffset-e.rowPositionGetter(e.firstRowIndex)+e.offsetTop,l=0;l0;)this._addRowToBuffer(t,this._viewportRowsBegin,this._viewportRowsEnd-1),t++,e--;return this._rows}},{key:"getRows",value:function(e,t){var o=t,n=o,i=e,r=Math.min(e+this._maxVisibleRowCount,this._rowsCount);for(this._viewportRowsBegin=e;i=r&&(n=this._bufferSet.replaceFurthestValuePosition(t,o,e)),null===n?(n=this._bufferSet.getNewPositionForValue(e),this._rows[n]=e):this._rows[n]=e}}]),e}();e.exports=p},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;o=e&&i<=t)return null;var r;e-n>i-t?(r=n,this._smallValues.pop()):(r=i,this._largeValues.pop());var s=this._valueToPositionMap[r];return delete this._valueToPositionMap[r],this._valueToPositionMap[o]=s,this._pushToHeaps(s,o),s}},{key:"_pushToHeaps",value:function(e,t){var o={position:e,value:t};this._smallValues.push(o),this._largeValues.push(o)}},{key:"_cleanHeaps",value:function(){this._cleanHeap(this._smallValues),this._cleanHeap(this._largeValues);var e=Math.min(this._smallValues.size(),this._largeValues.size());Math.max(this._smallValues.size(),this._largeValues.size())>10*e&&this._recreateHeaps()}},{key:"_recreateHeaps",value:function(){for(var e=this._smallValues.size()t.value}}]),e}();e.exports=h},function(e,t,o){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return e0&&(this._items[0]=t,this._sinkDown(0)),e}}},{key:"push",value:function(e){this._items[this._size++]=e,this._bubbleUp(this._size-1)}},{key:"size",value:function(){return this._size}},{key:"peek",value:function(){if(0!==this._size)return this._items[0]}},{key:"_heapify",value:function(){for(var e=Math.floor((this._size+1)/2);e>=0;e--)this._sinkDown(e)}},{key:"_bubbleUp",value:function(e){for(var t=this._items[e];e>0;){var o=Math.floor((e+1)/2)-1,n=this._items[o];if(this._comparator(n,t))return;this._items[o]=t,this._items[e]=n,e=o}}},{key:"_sinkDown",value:function(e){for(var t=this._items[e];;){var o=2*(e+1)-1,n=2*(e+1),i=-1;if(o=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o}var r=Object.assign||function(e){for(var t=1;t=0){var h=l.columnKey||"cell_"+s;o[s]=this._renderCell(e.rowIndex,e.rowHeight,l,r,h,n,i)}r+=l.width}var c={height:e.height,position:"absolute",width:n,zIndex:e.zIndex};return(0,w.default)(c,-1*b*e.left,0,this._initialRender),u.default.createElement("div",{className:(0,g.default)("fixedDataTableCellGroupLayout/cellGroup"),style:c},o)},_renderCell:function(e,t,o,n,i,r,s){var a=o.isResizable&&this.props.onColumnResize,l=a?this.props.onColumnResize:null,h=o.isReorderable&&this.props.onColumnReorder&&-1===e&&r!==o.width,c=h?this.props.onColumnReorder:null,d=o.cellClassName,f=o.pureRendering||!1;return u.default.createElement(m.default,{isScrolling:this.props.isScrolling,align:o.align,className:d,height:t,key:i,maxWidth:o.maxWidth,minWidth:o.minWidth,touchEnabled:this.props.touchEnabled,onColumnResize:l,onColumnReorder:c,onColumnReorderMove:this.props.onColumnReorderMove,onColumnReorderEnd:this.props.onColumnReorderEnd,isColumnReordering:s,columnReorderingData:this.props.columnReorderingData,rowIndex:e,columnKey:o.columnKey,width:o.width,left:n,cell:o.cell,columnGroupWidth:r,pureRendering:f})},_getColumnsWidth:function(e){for(var t=0,o=0;o=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o}var r=Object.assign||function(e){for(var t=1;tl,h=n>e.left,c=!1;u?il&&(c=!0,o.displacement=h?0:-1*e.columnReorderingData.columnWidth),c?u?e.columnReorderingData.columnAfter||(e.columnReorderingData.columnAfter=e.columnKey):e.columnReorderingData.columnBefore=e.columnKey:u?e.columnReorderingData.columnBefore=e.columnKey:e.columnReorderingData.columnAfter||(e.columnReorderingData.columnAfter=e.columnKey)}}else o.displacement=0;this.setState(o)},getDefaultProps:function(){return T},render:function(){var e=this.props,t=e.height,o=e.width,n=e.columnKey,s=i(e,["height","width","columnKey"]),l={height:t,width:o};1===C?l.left=s.left:l.right=s.left,this.state.isReorderingThisColumn&&(l.transform="translateX("+this.state.displacement+"px) translateZ(0)",l.zIndex=1);var h,c=(0,y.default)((0,w.default)({"fixedDataTableCellLayout/main":!0,"fixedDataTableCellLayout/lastChild":s.lastChild,"fixedDataTableCellLayout/alignRight":"right"===s.align,"fixedDataTableCellLayout/alignCenter":"center"===s.align,"public/fixedDataTableCell/alignRight":"right"===s.align,"public/fixedDataTableCell/highlighted":s.highlighted,"public/fixedDataTableCell/main":!0,"public/fixedDataTableCell/hasReorderHandle":!!s.onColumnReorder,"public/fixedDataTableCell/reordering":this.state.isReorderingThisColumn}),s.className);if(s.onColumnResize){var d=function(e){e.preventDefault(),e.stopPropagation()},p={height:t};h=f.default.createElement("div",{className:(0,w.default)("fixedDataTableCellLayout/columnResizerContainer"),style:p,onMouseDown:this._onColumnResizerMouseDown,onTouchStart:this.props.touchEnabled?this._onColumnResizerMouseDown:null,onTouchEnd:this.props.touchEnabled?d:null,onTouchMove:this.props.touchEnabled?d:null},f.default.createElement("div",{className:(0,y.default)((0,w.default)("fixedDataTableCellLayout/columnResizerKnob"),(0,w.default)("public/fixedDataTableCell/columnResizerKnob")),style:p}))}var m;s.onColumnReorder&&(m=f.default.createElement(u.default,r({columnKey:this.columnKey,touchEnabled:this.props.touchEnabled,onMouseDown:this._onColumnReorderMouseDown,onTouchStart:this._onColumnReorderMouseDown,height:t},this.props)));var _={columnKey:n,height:t,width:o};s.rowIndex>=0&&(_.rowIndex=s.rowIndex);var g;return g=f.default.isValidElement(s.cell)?f.default.cloneElement(s.cell,_):"function"==typeof s.cell?s.cell(_):f.default.createElement(a.default,_,s.cell),f.default.createElement("div",{className:c,style:l},h,m,g)},_onColumnResizerMouseDown:function(e){this.props.onColumnResize(this.props.left,this.props.width,this.props.minWidth,this.props.maxWidth,this.props.columnKey,e),this.props.touchEnabled&&(e.preventDefault(),e.stopPropagation())},_onColumnReorderMouseDown:function(e){this.props.onColumnReorder(this.props.columnKey,this.props.width,this.props.left,e)}});e.exports=S},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=o(29),r=n(i),s=o(31),a=(n(s),o(0)),l=n(a),u=o(3),h=n(u),c=o(1),d=n(c),f=o(10),p=n(f),m=o(30),_=n(m),g=o(12),v=(n(g),o(2)),w=n(v),b=(0,h.default)({displayName:"FixedDataTableColumnReorderHandle",mixins:[p.default],propTypes:{onColumnReorderEnd:d.default.func,columnKey:d.default.oneOfType([d.default.string,d.default.number]),touchEnabled:d.default.bool},getInitialState:function(){return{dragDistance:0}},componentWillReceiveProps:function(e){},componentWillUnmount:function(){this._mouseMoveTracker&&(cancelAnimationFrame(this.frameId),this.frameId=null,this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null)},render:function(){var e={height:this.props.height};return l.default.createElement("div",{className:(0,w.default)({"fixedDataTableCellLayout/columnReorderContainer":!0,"fixedDataTableCellLayout/columnReorderContainer/active":!1}),onMouseDown:this.onMouseDown,onTouchStart:this.props.touchEnabled?this.onMouseDown:null,onTouchEnd:this.props.touchEnabled?function(e){return e.stopPropagation()}:null,onTouchMove:this.props.touchEnabled?function(e){return e.stopPropagation()}:null,style:e})},onMouseDown:function(e){var t=e.target.getBoundingClientRect(),o=_.default.getCoordinatesFromEvent(e),n=o.x-t.offsetLeft,i=n+e.target.parentElement.offsetLeft;this._mouseMoveTracker=new r.default(this._onMove,this._onColumnReorderEnd,document.body,this.props.touchEnabled),this._mouseMoveTracker.captureMouseMoves(e),this.setState({dragDistance:0}),this.props.onMouseDown({columnKey:this.props.columnKey,mouseLocation:{dragDistance:0,inElement:n,inColumnGroup:i}}),this._distance=0,this._animating=!0,this.frameId=requestAnimationFrame(this._updateState),this.props.touchEnabled&&e.stopPropagation()},_onMove:function(e){this._distance=this.state.dragDistance+e},_onColumnReorderEnd:function(e){this._animating=!1,cancelAnimationFrame(this.frameId),this.frameId=null,this._mouseMoveTracker.releaseMouseMoves(),this.props.columnReorderingData.cancelReorder=e,this.props.onColumnReorderEnd()},_updateState:function(){this._animating&&(this.frameId=requestAnimationFrame(this._updateState)),this.setState({dragDistance:this._distance}),this.props.onColumnReorderMove(this._distance)}});e.exports=b},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=o(29),r=n(i),s=o(31),a=n(s),l=o(0),u=n(l),h=o(3),c=n(h),d=o(1),f=n(d),p=o(10),m=n(p),_=o(12),g=n(_),v=o(2),w=n(v),b=(0,c.default)({displayName:"FixedDataTableColumnResizeHandle",mixins:[m.default],propTypes:{visible:f.default.bool.isRequired,height:f.default.number.isRequired,leftOffset:f.default.number.isRequired,knobHeight:f.default.number.isRequired,initialWidth:f.default.number,minWidth:f.default.number,maxWidth:f.default.number,initialEvent:f.default.object,onColumnResizeEnd:f.default.func,columnKey:f.default.oneOfType([f.default.string,f.default.number]),touchEnabled:f.default.bool},getInitialState:function(){return{width:0,cursorDelta:0}},componentWillReceiveProps:function(e){e.initialEvent&&!this._mouseMoveTracker.isDragging()&&(this._mouseMoveTracker.captureMouseMoves(e.initialEvent),this.setState({width:e.initialWidth,cursorDelta:e.initialWidth}))},componentDidMount:function(){this._mouseMoveTracker=new r.default(this._onMove,this._onColumnResizeEnd,document.body,this.props.touchEnabled)},componentWillUnmount:function(){this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null},render:function(){var e={width:this.state.width,height:this.props.height};return a.default.isRTL()?e.right=this.props.leftOffset:e.left=this.props.leftOffset,u.default.createElement("div",{className:(0,w.default)({"fixedDataTableColumnResizerLineLayout/main":!0,"fixedDataTableColumnResizerLineLayout/hiddenElem":!this.props.visible,"public/fixedDataTableColumnResizerLine/main":!0}),style:e},u.default.createElement("div",{className:(0,w.default)("fixedDataTableColumnResizerLineLayout/mouseArea"),style:{height:this.props.height}}))},_onMove:function(e){a.default.isRTL()&&(e=-e);var t=this.state.cursorDelta+e,o=(0,g.default)(t,this.props.minWidth,this.props.maxWidth);this.setState({width:o,cursorDelta:t})},_onColumnResizeEnd:function(){this._mouseMoveTracker.releaseMouseMoves(),this.props.onColumnResizeEnd(this.state.width,this.props.columnKey)}});e.exports=b},function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var o=0;o4&&void 0!==arguments[4]?arguments[4]:0,u=arguments[5];i(this,e);var h=o+l;this._rowOffsets=a.default.uniform(t,h),this._storedHeights=new Array(t);for(var c=0;c=0&&t>=e-5;){var o=this._updateRowHeight(t);this._position+=o,t--}}},{key:"_updateRowHeight",value:function(e){if(e<0||e>=this._rowCount)return 0;var t=this._fullRowHeightGetter(e);if(t!==this._storedHeights[e]){var o=t-this._storedHeights[e];return this._rowOffsets.set(e,t),this._storedHeights[e]=t,this._contentHeight+=o,o}return 0}},{key:"getRowPosition",value:function(e){return this._updateRowHeight(e),this._rowOffsets.sumUntil(e)}},{key:"scrollBy",value:function(e){if(0===this._rowCount)return h;var t=this._rowOffsets.greatestLowerBound(this._position);t=(0,u.default)(t,0,Math.max(this._rowCount-1,0));var o=this._rowOffsets.sumUntil(t),n=t,i=this._position,r=this._updateRowHeight(n);0!==o&&(i+=r);var s=this._storedHeights[n]-(i-o);if(e>=0)for(;e>0&&n0&&n>=0;)if(e=0){var l=this._updateRowHeight(n);a=this._storedHeights[n],i+=l}}var c=this._contentHeight-this._viewportHeight;i=(0,u.default)(i,0,c),this._position=i;var d=this._rowOffsets.greatestLowerBound(i);d=(0,u.default)(d,0,Math.max(this._rowCount-1,0)),o=this._rowOffsets.sumUntil(d);var f=o-i;return this._updateHeightsInViewport(d,f),this._updateHeightsAboveViewport(d),{index:d,offset:f,position:this._position,contentHeight:this._contentHeight}}},{key:"_getRowAtEndPosition",value:function(e){this._updateRowHeight(e);for(var t=e,o=this._storedHeights[t];o=0;)--t>=0&&(this._updateRowHeight(t),o+=this._storedHeights[t]);var n=this._rowOffsets.sumTo(e)-this._viewportHeight;return n<0&&(n=0),n}},{key:"scrollTo",value:function(e){if(0===this._rowCount)return h;if(e<=0)return this._position=0,this._updateHeightsInViewport(0,0),{index:0,offset:0,position:this._position,contentHeight:this._contentHeight};if(e>=this._contentHeight-this._viewportHeight){var t=this._rowCount-1;e=this._getRowAtEndPosition(t)}this._position=e;var o=this._rowOffsets.greatestLowerBound(e);o=(0,u.default)(o,0,Math.max(this._rowCount-1,0));var n=this._rowOffsets.sumUntil(o),i=n-e;return this._updateHeightsInViewport(o,i),this._updateHeightsAboveViewport(o),{index:o,offset:i,position:this._position,contentHeight:this._contentHeight}}},{key:"scrollToRow",value:function(e,t){e=(0,u.default)(e,0,Math.max(this._rowCount-1,0)),t=(0,u.default)(t,-this._storedHeights[e],0);var o=this._rowOffsets.sumUntil(e);return this.scrollTo(o-t)}},{key:"scrollRowIntoView",value:function(e){e=(0,u.default)(e,0,Math.max(this._rowCount-1,0)),this._updateRowHeight(e);var t=this._rowOffsets.sumUntil(e),o=t+this._storedHeights[e];if(t=0;--o)t[o]=0;return t},h=function(){function e(t){n(this,e),this._size=t.length,this._half=i(this._size),this._heap=new u(2*this._half);var o;for(o=0;o0;--o)this._heap[o]=this._heap[2*o]+this._heap[2*o+1]}return r(e,[{key:"set",value:function(e,t){(0,a.default)(0<=e&&e=0;--i)n[i]=o;return new e(n)}},{key:"empty",value:function(t){return e.uniform(t,0)}}]),e}();e.exports=h}).call(t,o(6))},function(e,t,o){"use strict";function n(e){for(var t=0,o=0;o