diff --git a/dist/fixed-data-table-base.css b/dist/fixed-data-table-base.css index 4151e407..727bc309 100644 --- a/dist/fixed-data-table-base.css +++ b/dist/fixed-data-table-base.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * 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 b4e37174..dffc45b7 100644 --- a/dist/fixed-data-table-base.min.css +++ b/dist/fixed-data-table-base.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table-style.css b/dist/fixed-data-table-style.css index cb809274..d419a6d2 100644 --- a/dist/fixed-data-table-style.css +++ b/dist/fixed-data-table-style.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * 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 ebba535d..a1b166e2 100644 --- a/dist/fixed-data-table-style.min.css +++ b/dist/fixed-data-table-style.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table.css b/dist/fixed-data-table.css index 3acb4deb..8d39e6aa 100644 --- a/dist/fixed-data-table.css +++ b/dist/fixed-data-table.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table.js b/dist/fixed-data-table.js index f24ea8eb..4b96fb4b 100644 --- a/dist/fixed-data-table.js +++ b/dist/fixed-data-table.js @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * Copyright Schrodinger, LLC * All rights reserved. @@ -208,7 +208,7 @@ return /******/ (function(modules) { // webpackBootstrap Table: _FixedDataTable2.default }; - FixedDataTableRoot.version = '0.7.1'; + FixedDataTableRoot.version = '0.7.2'; module.exports = FixedDataTableRoot; /***/ }, @@ -975,6 +975,11 @@ return /******/ (function(modules) { // webpackBootstrap this.props.onColumnReorderEndCallback({ columnBefore: columnBefore, columnAfter: columnAfter, reorderColumn: reorderColumn }); + + var onHorizontalScroll = this.props.onHorizontalScroll; + if (this.state.columnReorderingData.scrollStart !== this.state.scrollX && onHorizontalScroll) { + onHorizontalScroll(this.state.scrollX); + }; }, _areColumnSettingsIdentical: function _areColumnSettingsIdentical(oldColumns, newColumns) { if (oldColumns.length !== newColumns.length) { @@ -2441,7 +2446,7 @@ return /******/ (function(modules) { // webpackBootstrap this._trackerId = null; // Initialize decelerating autoscroll on drag stop - requestAnimationFrame(this._startAutoScroll); + (0, _requestAnimationFramePolyfill2.default)(this._startAutoScroll); if (this._stopPropagation()) { event.stopPropagation(); @@ -2601,7 +2606,7 @@ return /******/ (function(modules) { // webpackBootstrap if (deltaX !== 0 || deltaY !== 0) { this._onTouchScrollCallback(deltaX, deltaY); - requestAnimationFrame(this._autoScroll); + (0, _requestAnimationFramePolyfill2.default)(this._autoScroll); } } }]); @@ -4989,7 +4994,8 @@ return /******/ (function(modules) { // webpackBootstrap var currentPosition = 0; for (var i = 0, j = columns.length; i < j; i++) { var columnProps = columns[i].props; - if (!columnProps.allowCellsRecycling || currentPosition - props.left <= props.width && currentPosition - props.left + columnProps.width >= 0) { + var recycable = columnProps.allowCellsRecycling && !isColumnReordering; + if (!recycable || currentPosition - props.left <= props.width && currentPosition - props.left + columnProps.width >= 0) { var key = 'cell_' + i; cells[i] = this._renderCell(props.rowIndex, props.rowHeight, columnProps, currentPosition, key, contentWidth, isColumnReordering); } @@ -5937,6 +5943,7 @@ return /******/ (function(modules) { // webpackBootstrap }, render: function render() { + //Remove some props like columnKey and rowIndex so we don't pass it into the div var _props = this.props; var height = _props.height; var width = _props.width; @@ -5944,8 +5951,9 @@ return /******/ (function(modules) { // webpackBootstrap var className = _props.className; var children = _props.children; var columnKey = _props.columnKey; + var rowIndex = _props.rowIndex; - var props = _objectWithoutProperties(_props, ['height', 'width', 'style', 'className', 'children', 'columnKey']); + var props = _objectWithoutProperties(_props, ['height', 'width', 'style', 'className', 'children', 'columnKey', 'rowIndex']); var innerStyle = _extends({ height: height, @@ -6099,6 +6107,8 @@ return /******/ (function(modules) { // webpackBootstrap componentWillReceiveProps: function componentWillReceiveProps( /*object*/newProps) {}, componentWillUnmount: function componentWillUnmount() { if (this._mouseMoveTracker) { + cancelAnimationFrame(this.frameId); + this.frameId = null; this._mouseMoveTracker.releaseMouseMoves(); this._mouseMoveTracker = null; } @@ -6137,19 +6147,21 @@ return /******/ (function(modules) { // webpackBootstrap this._distance = 0; this._animating = true; - requestAnimationFrame(this._updateState); + this.frameId = requestAnimationFrame(this._updateState); }, _onMove: function _onMove( /*number*/deltaX) { this._distance = this.state.dragDistance + deltaX; }, _onColumnReorderEnd: function _onColumnReorderEnd() { this._animating = false; + cancelAnimationFrame(this.frameId); + this.frameId = null; this._mouseMoveTracker.releaseMouseMoves(); this.props.onColumnReorderEnd(); }, _updateState: function _updateState() { if (this._animating) { - requestAnimationFrame(this._updateState); + this.frameId = requestAnimationFrame(this._updateState); } this.setState({ dragDistance: this._distance diff --git a/dist/fixed-data-table.min.css b/dist/fixed-data-table.min.css index 9866119a..dbaa06e2 100644 --- a/dist/fixed-data-table.min.css +++ b/dist/fixed-data-table.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * Copyright Schrodinger, LLC * All rights reserved. diff --git a/dist/fixed-data-table.min.js b/dist/fixed-data-table.min.js index 8429e046..f41f00e6 100644 --- a/dist/fixed-data-table.min.js +++ b/dist/fixed-data-table.min.js @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.7.1 + * FixedDataTable v0.7.2 * * Copyright Schrodinger, LLC * All rights reserved. @@ -9,6 +9,6 @@ * 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)}(this,function(e,t){return function(e){function t(i){if(o[i])return o[i].exports;var n=o[i]={exports:{},id:i,loaded:!1};return e[i].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){o(1),o(5),o(7),o(9),o(11),o(13),o(15),o(17),o(19),o(21),o(23),o(25),e.exports=o(27)},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 i(e){return e&&e.__esModule?e:{"default":e}}var n=o(28),r=i(n),s=o(68),l=i(s),a=o(66),u=i(a),h=o(65),c=i(h),d={Cell:l["default"],Column:u["default"],ColumnGroup:c["default"],Table:r["default"]};d.version="0.7.1",e.exports=d},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=Object.assign||function(e){for(var t=1;te&&this.state.scrollX>0||e>=0&&this.state.scrollXe&&this.state.scrollY>0||e>=0&&this.state.scrollYi?i:this.state.height>i&&this.props.ownerHeight?Math.max(i,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){var t=e.scrollToRow;void 0!==t&&null!==t&&(this._rowToScrollTo=t);var o=e.scrollToColumn;void 0!==o&&null!==o&&(this._columnToScrollTo=o);var i=e.overflowX,n=e.overflowY,r=e.touchScrollEnabled===!0;i===this.props.overflowX&&n===this.props.overflowY||(this._wheelHandler=new h["default"](this._onScroll,"hidden"!==i,"hidden"!==n),this._touchHandler=new d["default"](this._onScroll,"hidden"!==i&&r,"hidden"!==n&&r)),this.props.ownerHeight===e.ownerHeight&&this.props.scrollTop===e.scrollTop||this._didScrollStart(),this._didScrollStop(),this.setState(this._calculateState(e,this.state))},componentDidUpdate:function(){this._reportContentHeight()},render:function(){var e,t=this.state,o=this.props,i=o.onColumnReorderEndCallback?this._onColumnReorder:null;t.useGroupHeader&&(e=s["default"].createElement(b["default"],{key:"group_header",isScrolling:this._isScrolling,className:(0,O["default"])((0,T["default"])("fixedDataTableLayout/header"),(0,T["default"])("public/fixedDataTable/header")),width:t.width,height:t.groupHeaderHeight,index:0,zIndex:1,offsetTop:0,scrollLeft:t.scrollX,fixedColumns:t.groupHeaderFixedColumns,scrollableColumns:t.groupHeaderScrollableColumns,onColumnResize:this._onColumnResize,onColumnReorder:i,onColumnReorderMove:this._onColumnReorderMove}));var n=this.state.maxScrollY,r=t.maxScrollX>0&&"hidden"!==t.overflowX&&t.showScrollbarX!==!1,l=n>0&&"hidden"!==t.overflowY&&t.showScrollbarY!==!1,a=r?p["default"].SIZE:0,u=t.height-a-2*A-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,m=f+t.footerHeight;void 0!==o.ownerHeight&&o.ownerHeightt.ownerHeight||t.scrollYr-U?o=Math.min(o+q,this.state.maxScrollX):U>=i&&(o=Math.max(o-q,0)),t.dragDistance+=this.state.scrollX-t.scrollStart,this.setState({scrollX:o,columnReorderingData:t})},_onColumnReorderEnd:function(e,t){var o=this.state.columnReorderingData.columnBefore,i=this.state.columnReorderingData.columnAfter,n=this.state.columnReorderingData.columnKey;this.setState({isReordering:!1,columnReorderingData:{}}),this.props.onColumnReorderEndCallback({columnBefore:o,columnAfter:i,reorderColumn:n})},_areColumnSettingsIdentical:function(e,t){if(e.length!==t.length)return!1;for(var o=0;o or "),o.push(e))});var i=!1;o.length&&o[0].type.__TableColumnGroup__&&(i=!0);var r,s,l,a=t&&t.firstRowIndex||0,u=t&&t.firstRowOffset||0;r=t?t.scrollX:0,e.scrollLeft!==this.props.scrollLeft&&(r=e.scrollLeft),s=t?t.scrollY:0,e.scrollTop!==this.props.scrollTop&&(l=this._scrollHelper.scrollTo(e.scrollTop),a=l.index,u=l.offset,s=l.position);var h=i?e.groupHeaderHeight:0;if(!t||e.rowsCount===t.rowsCount&&e.rowHeight===t.rowHeight)t&&e.rowHeightGetter!==t.rowHeightGetter&&this._scrollHelper.setRowHeightGetter(e.rowHeightGetter);else{var c=(void 0===e.height?e.maxHeight:e.height)-(e.headerHeight||0)-(e.footerHeight||0)-(e.groupHeaderHeight||0);this._scrollHelper=new C["default"](e.rowsCount,e.rowHeight,c,e.rowHeightGetter),l=this._scrollHelper.scrollToRow(a,u),a=l.index,u=l.offset,s=l.position}void 0!==this._rowToScrollTo&&(l=this._scrollHelper.scrollRowIntoView(this._rowToScrollTo),a=l.index,u=l.offset,s=l.position,delete this._rowToScrollTo);var d;d=e.isColumnResizing?t&&t.columnResizingData:Y;var f,m;if(i){var _=x["default"].adjustColumnGroupWidths(o,e.width);f=_.columns,m=_.columnGroups}else f=x["default"].adjustColumnWidths(o,e.width);var g=this._populateColumnsAndColumnData(f,m,t);if(void 0!==this._columnToScrollTo){var v=g.bodyFixedColumns.length;if(this._columnToScrollTo>=v){var w,b,R=0;for(w=0;ww;++w)b=g.bodyScrollableColumns[w],S+=b.props.width;var T=e.width-R,M=g.bodyScrollableColumns[y].props.width,D=S+M-T;D>r&&(r=D),r>S&&(r=S)}delete this._columnToScrollTo}var H=void 0===e.height,E=Math.round(H?e.maxHeight:e.height),k=e.footerHeight+e.headerHeight+h+2*A,I=E-k,O=this._scrollHelper.getContentHeight(),L=O+k,P=x["default"].getTotalWidth(f),F=P>e.width&&"hidden"!==e.overflowX&&e.showScrollbarX!==!1;F&&(I-=p["default"].SIZE,L+=p["default"].SIZE,k+=p["default"].SIZE);var N=Math.max(0,P-e.width),X=Math.max(0,O-I);r=Math.min(r,N),s=Math.min(s,X),X||(H&&(E=L),I=L-k),this._scrollHelper.setViewportHeight(I);var G=n({isColumnResizing:t&&t.isColumnResizing},g,e,{columns:f,columnGroups:m,columnResizingData:d,firstRowIndex:a,firstRowOffset:u,horizontalScrollbarVisible:F,maxScrollX:N,maxScrollY:X,reservedHeight:k,scrollContentHeight:O,scrollX:r,scrollY:s,bodyHeight:I,height:E,groupHeaderHeight:h,useGroupHeader:i});return G},_selectColumnElement:function(e,t){for(var o=[],i=0;iMath.abs(e)&&"hidden"!==this.props.overflowY){var i=this._scrollHelper.scrollBy(Math.round(t)),n=Math.max(0,i.contentHeight-this.state.bodyHeight);this.setState({firstRowIndex:i.index,firstRowOffset:i.offset,scrollY:i.position,scrollContentHeight:i.contentHeight,maxScrollY:n})}else if(e&&"hidden"!==this.props.overflowX){o+=e,o=0>o?0:o,o=o>this.state.maxScrollX?this.state.maxScrollX:o;var r=this.props.onHorizontalScroll;(r?r(o):!0)&&this.setState({scrollX:o})}this._didScrollStop()}},_onHorizontalScroll:function(e){if(this.isMounted()&&e!==this.state.scrollX){this._isScrolling||this._didScrollStart();var t=this.props.onHorizontalScroll;(t?t(e):!0)&&this.setState({scrollX:e}),this._didScrollStop()}},_onVerticalScroll:function(e){if(this.isMounted()&&e!==this.state.scrollY){this._isScrolling||this._didScrollStart();var t=this._scrollHelper.scrollTo(Math.round(e));this.setState({firstRowIndex:t.index,firstRowOffset:t.offset,scrollY:t.position,scrollContentHeight:t.contentHeight}),this._didScrollStop()}},_didScrollStart:function(){this.isMounted()&&!this._isScrolling&&(this._isScrolling=!0,this.props.onScrollStart&&this.props.onScrollStart(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))},_didScrollStop:function(){this.isMounted()&&this._isScrolling&&(this._isScrolling=!1,this.setState({redraw:!0}),this.props.onScrollEnd&&this.props.onScrollEnd(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))}}),j=s["default"].createClass({displayName:"HorizontalScrollbar",mixins:[a["default"]],propTypes:{contentSize:X.number.isRequired,offset:X.number.isRequired,onScroll:X.func.isRequired,position:X.number.isRequired,size:X.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={height:p["default"].SIZE,width:this.props.size},t={height:p["default"].SIZE,position:"absolute",overflow:"hidden",width:this.props.size};return(0,N["default"])(t,0,this.props.offset,this._initialRender),s["default"].createElement("div",{className:(0,O["default"])((0,T["default"])("fixedDataTableLayout/horizontalScrollbar"),(0,T["default"])("public/fixedDataTable/horizontalScrollbar")),style:e},s["default"].createElement("div",{style:t},s["default"].createElement(p["default"],n({},this.props,{isOpaque:!0,orientation:"horizontal",offset:void 0}))))}});e.exports=K},function(e,t,o){"use strict";e.exports=o(30)},function(t,o){t.exports=e},function(e,t){"use strict";function o(e,t){if(e===t)return!0;var o;for(o in e)if(e.hasOwnProperty(o)&&(!t.hasOwnProperty(o)||e[o]!==t[o]))return!1;for(o in t)if(t.hasOwnProperty(o)&&!e.hasOwnProperty(o))return!1;return!0}var i={shouldComponentUpdate:function(e,t){return!o(this.props,e)||!o(this.state,t)}};e.exports=i},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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;oi?-1:1),n&&!o&&(o=1>n?-1:1),{spinX:t,spinY:o,pixelX:i,pixelY:n}}var r=o(35),s=i(r),l=o(36),a=i(l),u=10,h=40,c=800;n.getEventType=function(){return s["default"].firefox()?"DOMMouseScroll":(0,a["default"])("wheel")?"wheel":"mousewheel"},e.exports=n},function(e,t){"use strict";function o(){if(!v){v=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),o=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(p=/\b(iPhone|iP[ao]d)/.exec(e),m=/\b(iP[ao]d)/.exec(e),d=/Android/i.exec(e),_=/FBAN\/\w+;/i.exec(e),g=/Mobile/i.exec(e),f=!!/Win64/.exec(e),t){i=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,i&&document&&document.documentMode&&(i=document.documentMode);var w=/(?:Trident\/(\d+.\d+))/.exec(e);a=w?parseFloat(w[1])+4:i,n=t[2]?parseFloat(t[2]):NaN,r=t[3]?parseFloat(t[3]):NaN,s=t[4]?parseFloat(t[4]):NaN,s?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),l=t&&t[1]?parseFloat(t[1]):NaN):l=NaN}else i=n=r=l=s=NaN;if(o){if(o[1]){var b=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);u=b?parseFloat(b[1].replace("_",".")):!0}else u=!1;h=!!o[2],c=!!o[3]}else u=h=c=!1}}var i,n,r,s,l,a,u,h,c,d,f,p,m,_,g,v=!1,w={ie:function(){return o()||i},ieCompatibilityMode:function(){return o()||a>i},ie64:function(){return w.ie()&&f},firefox:function(){return o()||n},opera:function(){return o()||r},webkit:function(){return o()||s},safari:function(){return w.webkit()},chrome:function(){return o()||l},windows:function(){return o()||h},osx:function(){return o()||u},linux:function(){return o()||c},iphone:function(){return o()||p},mobile:function(){return o()||p||m||d||g},nativeApp:function(){return o()||_},android:function(){return o()||d},ipad:function(){return o()||m}};e.exports=w},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!l["default"].canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,i=o in document;if(!i){var n=document.createElement("div");n.setAttribute(o,"return;"),i="function"==typeof n[o]}return!i&&r&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}var r,s=o(37),l=i(s);l["default"].canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=n},function(e,t){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen,isInWorker:!o};e.exports=i},function(e,t,o){(function(t){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(33),r=i(n),s=o(39),l=i(s),a=0,u=l["default"]||function(e){var o=Date.now(),i=Math.max(0,16-(o-a));return a=o+i,t.setTimeout(function(){e(Date.now())},i)};u(r["default"]),e.exports=u}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";var o=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame;e.exports=o}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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),r===!0&&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,i=this._velocityY,n=.8;f>t&&(n*=t/f),0===o&&0===i&&(n=1),this._velocityX=n*(f*this._accumulatedDeltaX/(1+t)),1>n&&(this._velocityX+=(1-n)*o),this._velocityY=n*(f*this._accumulatedDeltaY/(1+t)),1>n&&(this._velocityY+=(1-n)*i),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=c*Math.exp(-e/d),o=t*this._velocityX,i=t*this._velocityY;(Math.abs(o)<=5||!this._handleScrollX(o,i))&&(o=0),(Math.abs(i)<=5||!this._handleScrollY(i,o))&&(i=0),0===o&&0===i||(this._onTouchScrollCallback(o,i),requestAnimationFrame(this._autoScroll))}}]),e}();e.exports=p},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(42),r=i(n),s=o(45),l=i(s),a=o(29),u=i(a),h=o(46),c=i(h),d=o(31),f=i(d),p=o(32),m=i(p),_=o(48),g=i(_),v=o(49),w=i(v),b=o(33),R=i(b),C=o(50),y=i(C),x=u["default"].PropTypes,S={position:0,scrollable:!1},T=parseInt((0,g["default"])("scrollbar-face-margin"),10),M=2*T,D=30,H=40,E=null,k=u["default"].createClass({displayName:"Scrollbar",mixins:[f["default"]],propTypes:{contentSize:x.number.isRequired,defaultPosition:x.number,isOpaque:x.bool,orientation:x.oneOf(["vertical","horizontal"]),onScroll:x.func,position:x.number,size:x.number.isRequired,trackColor:x.oneOf(["gray"]),zIndex:x.number,verticalTop:x.number},getInitialState:function(){var e=this.props;return this._calculateState(e.position||e.defaultPosition||0,e.size,e.contentSize,e.orientation)},componentWillReceiveProps:function(e){var t=e.position;void 0===t?this._setNextState(this._calculateState(this.state.position,e.size,e.contentSize,e.orientation)):this._setNextState(this._calculateState(t,e.size,e.contentSize,e.orientation),e)},getDefaultProps:function(){return{defaultPosition:0,isOpaque:!1,onScroll:R["default"],orientation:"vertical",zIndex:99}},render:function(){if(!this.state.scrollable)return null;var e,t,o=this.props.size,i=this.state.isHorizontal,n=!i,r=this.state.focused||this.state.isDragging,s=this.state.faceSize,l=this.props.isOpaque,a=this.props.verticalTop||0,h=(0,w["default"])({"ScrollbarLayout/main":!0,"ScrollbarLayout/mainVertical":n,"ScrollbarLayout/mainHorizontal":i,"public/Scrollbar/main":!0,"public/Scrollbar/mainOpaque":l,"public/Scrollbar/mainActive":r}),c=(0,w["default"])({"ScrollbarLayout/face":!0,"ScrollbarLayout/faceHorizontal":i,"ScrollbarLayout/faceVertical":n,"public/Scrollbar/faceActive":r,"public/Scrollbar/face":!0}),d=this.state.position*this.state.scale+T;return i?(e={width:o},t={width:s-M},(0,y["default"])(t,d,0,this._initialRender)):(e={top:a,height:o},t={height:s-M},(0,y["default"])(t,0,d,this._initialRender)),e.zIndex=this.props.zIndex,"gray"===this.props.trackColor&&(e.backgroundColor=(0,g["default"])("fbui-desktop-background-light")),u["default"].createElement("div",{onFocus:this._onFocus,onBlur:this._onBlur,onKeyDown:this._onKeyDown,onMouseDown:this._onMouseDown,onWheel:this._wheelHandler.onWheel,className:h,style:e,tabIndex:0},u["default"].createElement("div",{ref:"face",className:c,style:t}))},componentWillMount:function(){var e="horizontal"===this.props.orientation,t=e?this._onWheelX:this._onWheelY;this._wheelHandler=new m["default"](t,this._shouldHandleX,this._shouldHandleY),this._initialRender=!0},componentDidMount:function(){this._mouseMoveTracker=new r["default"](this._onMouseMove,this._onMouseMoveEnd,document.documentElement),void 0!==this.props.position&&this.state.position!==this.props.position&&this._didScroll(),this._initialRender=!1},componentWillUnmount:function(){this._nextState=null,this._mouseMoveTracker.releaseMouseMoves(),E===this&&(E=null),delete this._mouseMoveTracker},scrollBy:function(e){this._onWheel(e)},_shouldHandleX:function(e){return"horizontal"===this.props.orientation?this._shouldHandleChange(e):!1},_shouldHandleY:function(e){return"horizontal"!==this.props.orientation?this._shouldHandleChange(e):!1},_shouldHandleChange:function(e){var t=this._calculateState(this.state.position+e,this.props.size,this.props.contentSize,this.props.orientation);return t.position!==this.state.position},_calculateState:function(e,t,o,i){if(1>t||t>=o)return S;var n=e+"_"+t+"_"+o+"_"+i;if(this._stateKey===n)return this._stateForKey;var r="horizontal"===i,s=t/o,l=t*s;D>l&&(s=(t-D)/(o-t),l=D);var a=!0,u=o-t;0>e?e=0:e>u&&(e=u);var h=this._mouseMoveTracker?this._mouseMoveTracker.isDragging():!1,c={faceSize:l,isDragging:h,isHorizontal:r,position:e,scale:s,scrollable:a};return this._stateKey=n,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!==c["default"].findDOMNode(this.refs.face)){var o=e.nativeEvent,i=this.state.isHorizontal?o.offsetX||o.layerX:o.offsetY||o.layerY,n=this.props;i/=this.state.scale, -t=this._calculateState(i-.5*this.state.faceSize/this.state.scale,n.size,n.contentSize,n.orientation)}else t={};t.focused=!0,this._setNextState(t),this._mouseMoveTracker.captureMouseMoves(e),c["default"].findDOMNode(this).focus()},_onMouseMove:function(e,t){var o=this.props,i=this.state.isHorizontal?e:t;i/=this.state.scale,this._setNextState(this._calculateState(this.state.position+i,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!==l["default"].TAB){var o=H,i=0;if(this.state.isHorizontal)switch(t){case l["default"].HOME:i=-1,o=this.props.contentSize;break;case l["default"].LEFT:i=-1;break;case l["default"].RIGHT:i=1;break;default:return}if(!this.state.isHorizontal)switch(t){case l["default"].SPACE:i=e.shiftKey?-1:1;break;case l["default"].HOME:i=-1,o=this.props.contentSize;break;case l["default"].UP:i=-1;break;case l["default"].DOWN:i=1;break;case l["default"].PAGE_UP:i=-1,o=this.props.size;break;case l["default"].PAGE_DOWN:i=1,o=this.props.size;break;default:return}e.preventDefault();var n=this.props;this._setNextState(this._calculateState(this.state.position+o*i,n.size,n.contentSize,n.orientation))}},_onFocus:function(){this.setState({focused:!0})},_onBlur:function(){this.setState({focused:!1})},_blur:function(){if(this.isMounted())try{this._onBlur(),c["default"].findDOMNode(this).blur()}catch(e){}},_setNextState:function(e,t){t=t||this.props;var o=t.position,i=this.state.position!==e.position;if(void 0===o){var n=i?this._didScroll:void 0;this.setState(e,n)}else{if(o!==e.position)return void(void 0!==e.position&&e.position!==this.state.position&&this.props.onScroll(e.position));this.setState(e)}i&&E!==this&&(E&&E._blur(),E=this)},_didScroll:function(){this.props.onScroll(this.state.position)}});k.KEYBOARD_SCROLL_AMOUNT=H,k.SIZE=parseInt((0,g["default"])("scrollbar-size"),10),e.exports=k},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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;o0;)this._addRowToBuffer(t,this._viewportRowsBegin,this._viewportRowsEnd-1),t++,e--;return this._rows}},{key:"getRows",value:function(e,t){var o=t,i=o,n=e,r=Math.min(e+this._maxVisibleRowCount,this._rowsCount);for(this._viewportRowsBegin=e;r>n||i=r&&(i=this._bufferSet.replaceFurthestValuePosition(t,o,e)),null===i?(i=this._bufferSet.getNewPositionForValue(e),this._rows[i]=e):this._rows[i]=e}}]),e}();e.exports=p},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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&&t>=n)return null;var r;e-i>n-t?(r=i,this._smallValues.pop()):(r=n,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()),t=Math.max(this._smallValues.size(),this._largeValues.size());t>10*e&&this._recreateHeaps()}},{key:"_recreateHeaps",value:function(){for(var e=this._smallValues.size()t.value}}]),e}();e.exports=h},function(e,t){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return t>e}var n=function(){function e(e,t){for(var o=0;o0&&(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(){return 0!==this._size?this._items[0]:void 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,i=this._items[o];if(this._comparator(i,t))return;this._items[o]=t,this._items[e]=i,e=o}}},{key:"_sinkDown",value:function(e){for(var t=this._items[e];;){var o=2*(e+1)-1,i=2*(e+1),n=-1;if(oe?t:e>o?o:e}e.exports=o},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=Object.assign||function(e){for(var t=1;t0){var t=(0,h["default"])({"fixedDataTableRowLayout/fixedColumnsDivider":!0,"fixedDataTableRowLayout/columnsShadow":this.props.scrollLeft>0,"public/fixedDataTableRow/fixedColumnsDivider":!0,"public/fixedDataTableRow/columnsShadow":this.props.scrollLeft>0}),o={left:e,height:this.props.height};return s["default"].createElement("div",{className:t,style:o})}},_onClick:function(e){this.props.onClick(e,this.props.index)},_onDoubleClick:function(e){this.props.onDoubleClick(e,this.props.index)},_onMouseDown:function(e){this.props.onMouseDown(e,this.props.index)},_onMouseEnter:function(e){this.props.onMouseEnter(e,this.props.index)},_onMouseLeave:function(e){this.props.onMouseLeave(e,this.props.index)}}),g=s["default"].createClass({displayName:"FixedDataTableRow",propTypes:{isScrolling:m.bool,height:m.number.isRequired,zIndex:m.number,offsetTop:m.number.isRequired,width:m.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={width:this.props.width,height:this.props.height,zIndex:this.props.zIndex?this.props.zIndex:0};return(0,p["default"])(e,0,this.props.offsetTop,this._initialRender),s["default"].createElement("div",{style:e,className:(0,h["default"])("fixedDataTableRowLayout/rowWrapper")},s["default"].createElement(_,n({},this.props,{offsetTop:void 0,zIndex:void 0})))}});e.exports=g},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var o={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(o[i]=e[i]);return o}var r=Object.assign||function(e){for(var t=1;ts;s++){var a=t[s].props;if(!a.allowCellsRecycling||r-e.left<=e.width&&r-e.left+a.width>=0){var h="cell_"+s;o[s]=this._renderCell(e.rowIndex,e.rowHeight,a,r,h,i,n)}r+=a.width}var c={height:e.height,position:"absolute",width:i,zIndex:e.zIndex};return(0,m["default"])(c,-1*g*e.left,0,this._initialRender),u["default"].createElement("div",{className:(0,f["default"])("fixedDataTableCellGroupLayout/cellGroup"),style:c},o)},_renderCell:function(e,t,o,i,n,r,s){var l=o.isResizable&&this.props.onColumnResize,a=l?this.props.onColumnResize:null,h=o.isReorderable&&this.props.onColumnReorder&&-1===e&&r!==o.width,d=h?this.props.onColumnReorder:null,f=o.cellClassName;return u["default"].createElement(c["default"],{isScrolling:this.props.isScrolling,align:o.align,className:f,height:t,key:n,maxWidth:o.maxWidth,minWidth:o.minWidth,onColumnResize:a,onColumnReorder:d,onColumnReorderMove:this.props.onColumnReorderMove,onColumnReorderEnd:this.props.onColumnReorderEnd,isColumnReordering:s,columnReorderingData:this.props.columnReorderingData,rowIndex:e,columnKey:o.columnKey,width:o.width,left:i,cell:o.cell,columnGroupWidth:r})},_getColumnsWidth:function(e){for(var t=0,o=0;o should never render")}});e.exports=l},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(29),r=i(n),s=r["default"].PropTypes,l=r["default"].createClass({displayName:"FixedDataTableColumn",statics:{__TableColumn__:!0},propTypes:{align:s.oneOf(["left","center","right"]),fixed:s.bool,header:s.oneOfType([s.node,s.func]),cell:s.oneOfType([s.node,s.func]),footer:s.oneOfType([s.node,s.func]),columnKey:s.oneOfType([s.string,s.number]),width:s.number.isRequired,minWidth:s.number,maxWidth:s.number,flexGrow:s.number,isResizable:s.bool,isReorderable:s.bool,allowCellsRecycling:s.bool},getDefaultProps:function(){return{allowCellsRecycling:!1,fixed:!1}},render:function(){throw new Error("Component should never render")}});e.exports=l},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var o={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(o[i]=e[i]);return o}var r=Object.assign||function(e){for(var t=1;ta,h=i>e.left,c=!1;u?a>n&&(c=!0,h?o.displacement=e.columnReorderingData.columnWidth:o.displacement=0):s>a&&(c=!0,h?o.displacement=0:o.displacement=-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 b},render:function(){var e=this.props,t=e.height,o=e.width,i=e.columnKey,s=n(e,["height","width","columnKey"]),a={height:t,width:o};1===v?a.left=s.left:a.right=s.left,this.state.isReorderingThisColumn&&(a.transform="translateX("+this.state.displacement+"px) translateZ(0)",a.zIndex=1);var h,c=(0,g["default"])((0,m["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={height:t};h=f["default"].createElement("div",{className:(0,m["default"])("fixedDataTableCellLayout/columnResizerContainer"),style:d,onMouseDown:this._onColumnResizerMouseDown},f["default"].createElement("div",{className:(0,g["default"])((0,m["default"])("fixedDataTableCellLayout/columnResizerKnob"),(0,m["default"])("public/fixedDataTableCell/columnResizerKnob")),style:d}))}var p;s.onColumnReorder&&(p=f["default"].createElement(u["default"],r({columnKey:this.columnKey,onMouseDown:this._onColumnReorderMouseDown, -height:t},this.props)));var _={columnKey:i,height:t,width:o};s.rowIndex>=0&&(_.rowIndex=s.rowIndex);var w;return w=f["default"].isValidElement(s.cell)?f["default"].cloneElement(s.cell,_):"function"==typeof s.cell?s.cell(_):f["default"].createElement(l["default"],_,s.cell),f["default"].createElement("div",{className:c,style:a},h,p,w)},_onColumnResizerMouseDown:function(e){this.props.onColumnResize(this.props.left,this.props.width,this.props.minWidth,this.props.maxWidth,this.props.columnKey,e)},_onColumnReorderMouseDown:function(e){this.props.onColumnReorder(this.props.columnKey,this.props.width,this.props.left,e)}});e.exports=R},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var o={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(o[i]=e[i]);return o}var r=Object.assign||function(e){for(var t=1;t1)for(var i=1;o>i;i++)t=arguments[i],t&&(e=(e?e+" ":"")+t);return e}e.exports=o},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(42),r=i(n),s=o(64),l=(i(s),o(29)),a=i(l),u=o(31),h=i(u),c=o(60),d=(i(c),o(49)),f=i(d),p=a["default"].PropTypes,m=a["default"].createClass({displayName:"FixedDataTableColumnReorderHandle",mixins:[h["default"]],propTypes:{onColumnReorderEnd:p.func,columnKey:p.oneOfType([p.string,p.number])},getInitialState:function(){return{dragDistance:0}},componentWillReceiveProps:function(e){},componentWillUnmount:function(){this._mouseMoveTracker&&(this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null)},render:function(){var e={height:this.props.height};return a["default"].createElement("div",{className:(0,f["default"])({"fixedDataTableCellLayout/columnReorderContainer":!0,"fixedDataTableCellLayout/columnReorderContainer/active":!1}),onMouseDown:this.onMouseDown,style:e})},onMouseDown:function(e){var t=e.target.getBoundingClientRect(),o=e.clientX-t.offsetLeft,i=o+e.target.parentElement.offsetLeft;this._mouseMoveTracker=new r["default"](this._onMove,this._onColumnReorderEnd,document.body),this._mouseMoveTracker.captureMouseMoves(e),this.setState({dragDistance:0}),this.props.onMouseDown({columnKey:this.props.columnKey,mouseLocation:{dragDistance:0,inElement:o,inColumnGroup:i}}),this._distance=0,this._animating=!0,requestAnimationFrame(this._updateState)},_onMove:function(e){this._distance=this.state.dragDistance+e},_onColumnReorderEnd:function(){this._animating=!1,this._mouseMoveTracker.releaseMouseMoves(),this.props.onColumnReorderEnd()},_updateState:function(){this._animating&&requestAnimationFrame(this._updateState),this.setState({dragDistance:this._distance}),this.props.onColumnReorderMove(this._distance)}});e.exports=m},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(42),r=i(n),s=o(64),l=i(s),a=o(29),u=i(a),h=o(31),c=i(h),d=o(60),f=i(d),p=o(49),m=i(p),_=u["default"].PropTypes,g=u["default"].createClass({displayName:"FixedDataTableColumnResizeHandle",mixins:[c["default"]],propTypes:{visible:_.bool.isRequired,height:_.number.isRequired,leftOffset:_.number.isRequired,knobHeight:_.number.isRequired,initialWidth:_.number,minWidth:_.number,maxWidth:_.number,initialEvent:_.object,onColumnResizeEnd:_.func,columnKey:_.oneOfType([_.string,_.number])},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)},componentWillUnmount:function(){this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null},render:function(){var e={width:this.state.width,height:this.props.height};return l["default"].isRTL()?e.right=this.props.leftOffset:e.left=this.props.leftOffset,u["default"].createElement("div",{className:(0,m["default"])({"fixedDataTableColumnResizerLineLayout/main":!0,"fixedDataTableColumnResizerLineLayout/hiddenElem":!this.props.visible,"public/fixedDataTableColumnResizerLine/main":!0}),style:e},u["default"].createElement("div",{className:(0,m["default"])("fixedDataTableColumnResizerLineLayout/mouseArea"),style:{height:this.props.height}}))},_onMove:function(e){l["default"].isRTL()&&(e=-e);var t=this.state.cursorDelta+e,o=(0,f["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=g},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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;os;++s)this._storedHeights[s]=o;this._rowCount=t,this._position=0,this._contentHeight=t*o,this._defaultRowHeight=o,this._rowHeightGetter=r?r:function(){return o},this._viewportHeight=i,this.scrollRowIntoView=this.scrollRowIntoView.bind(this),this.setViewportHeight=this.setViewportHeight.bind(this),this.scrollBy=this.scrollBy.bind(this),this.scrollTo=this.scrollTo.bind(this),this.scrollToRow=this.scrollToRow.bind(this),this.setRowHeightGetter=this.setRowHeightGetter.bind(this),this.getContentHeight=this.getContentHeight.bind(this),this.getRowPosition=this.getRowPosition.bind(this),this._updateHeightsInViewport(0,0)}return r(e,[{key:"setRowHeightGetter",value:function(e){this._rowHeightGetter=e}},{key:"setViewportHeight",value:function(e){this._viewportHeight=e}},{key:"getContentHeight",value:function(){return this._contentHeight}},{key:"_updateHeightsInViewport",value:function(e,t){for(var o=t,i=e;o<=this._viewportHeight&&i=0&&t>=e-h;){var o=this._updateRowHeight(t);this._position+=o,t--}}},{key:"_updateRowHeight",value:function(e){if(0>e||e>=this._rowCount)return 0;var t=this._rowHeightGetter(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),i=t,n=this._position,r=this._updateRowHeight(i);0!==o&&(n+=r);var s=this._storedHeights[i]-(n-o);if(e>=0)for(;e>0&&ie?(n+=e,e=0):(e-=s,n+=s,i++),ie){e=-e;for(var l=this._storedHeights[i]-s;e>0&&i>=0;)if(l>e?(n-=e,e=0):(n-=l,e-=l,i--),i>=0){var a=this._updateRowHeight(i);l=this._storedHeights[i],n+=a}}var h=this._contentHeight-this._viewportHeight;n=(0,u["default"])(n,0,h),this._position=n;var d=this._rowOffsets.greatestLowerBound(n);d=(0,u["default"])(d,0,Math.max(this._rowCount-1,0)),o=this._rowOffsets.sumUntil(d);var f=o-n;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--,t>=0&&(this._updateRowHeight(t),o+=this._storedHeights[t]);var i=this._rowOffsets.sumTo(e)-this._viewportHeight;return 0>i&&(i=0),i}},{key:"scrollTo",value:function(e){if(0===this._rowCount)return c;if(0>=e)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 i=this._rowOffsets.sumUntil(o),n=i-e;return this._updateHeightsInViewport(o,n),this._updateHeightsAboveViewport(o),{index:o,offset:n,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));var t=this._rowOffsets.sumUntil(e),o=t+this._storedHeights[e];if(tt;)t*=2;return t}var s=function(){function e(e,t){for(var o=0;o=0;--o)t[o]=0;return t},c=function(){function e(t){n(this,e),this._size=t.length,this._half=r(this._size),this._heap=new h(2*this._half);var o;for(o=0;o0;--o)this._heap[o]=this._heap[2*o]+this._heap[2*o+1]}return s(e,[{key:"set",value:function(e,t){(0,a["default"])(e>=0&&e=0&&e=0&&e=0&&e=e,"Begin must precede end"),this.sumUntil(t)-this.sumUntil(e)}},{key:"greatestLowerBound",value:function(e){if(0>e)return-1;var t=1;if(this._heap[t]<=e)return this._size;for(;te?t=2*t:(t=2*t+1,e-=o)}return t-this._half}},{key:"greatestStrictLowerBound",value:function(e){if(0>=e)return-1;var t=1;if(this._heap[t]=e?t=2*t:(t=2*t+1,e-=o)}return t-this._half}},{key:"leastUpperBound",value:function(e){return this.greatestStrictLowerBound(e)+1}},{key:"leastStrictUpperBound",value:function(e){return this.greatestLowerBound(e)+1}}],[{key:"uniform",value:function(t,o){for(var i=[],n=t-1;n>=0;--n)i[n]=o;return new e(i)}},{key:"empty",value:function(t){return e.uniform(t,0)}}]),e}();e.exports=c}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e){for(var t=0,o=0;o=t)return{columns:e,width:n(e)};for(var o=r(e),i=t,s=[],l=0,a=0;ao?s(e,t-o).columns:e}var u=o(29),h=i(u),c={getTotalWidth:n,getTotalFlexGrow:r,distributeFlexWidth:s,adjustColumnWidths:a,adjustColumnGroupWidths:l};e.exports=c},function(e,t){"use strict";function o(e,t,o,i,n){function r(){for(var n=arguments.length,l=Array(n),a=0;n>a;a++)l[a]=arguments[a];r.reset();var u=function(){e.apply(o,l)};u.__SMmeta=e.__SMmeta,s=i(u,t)}i=i||setTimeout,n=n||clearTimeout;var s;return r.reset=function(){n(s)},r}e.exports=o},function(e,t){"use strict";function o(e,t){if(e===t)return!0;if("object"!==("undefined"==typeof e?"undefined":i(e))||null===e||"object"!==("undefined"==typeof t?"undefined":i(t))||null===t)return!1;var o=Object.keys(e),r=Object.keys(t);if(o.length!==r.length)return!1;for(var s=n.bind(t),l=0;le&&this.state.scrollX>0||e>=0&&this.state.scrollXe&&this.state.scrollY>0||e>=0&&this.state.scrollYi?i:this.state.height>i&&this.props.ownerHeight?Math.max(i,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){var t=e.scrollToRow;void 0!==t&&null!==t&&(this._rowToScrollTo=t);var o=e.scrollToColumn;void 0!==o&&null!==o&&(this._columnToScrollTo=o);var i=e.overflowX,n=e.overflowY,r=e.touchScrollEnabled===!0;i===this.props.overflowX&&n===this.props.overflowY||(this._wheelHandler=new h["default"](this._onScroll,"hidden"!==i,"hidden"!==n),this._touchHandler=new d["default"](this._onScroll,"hidden"!==i&&r,"hidden"!==n&&r)),this.props.ownerHeight===e.ownerHeight&&this.props.scrollTop===e.scrollTop||this._didScrollStart(),this._didScrollStop(),this.setState(this._calculateState(e,this.state))},componentDidUpdate:function(){this._reportContentHeight()},render:function(){var e,t=this.state,o=this.props,i=o.onColumnReorderEndCallback?this._onColumnReorder:null;t.useGroupHeader&&(e=s["default"].createElement(b["default"],{key:"group_header",isScrolling:this._isScrolling,className:(0,O["default"])((0,T["default"])("fixedDataTableLayout/header"),(0,T["default"])("public/fixedDataTable/header")),width:t.width,height:t.groupHeaderHeight,index:0,zIndex:1,offsetTop:0,scrollLeft:t.scrollX,fixedColumns:t.groupHeaderFixedColumns,scrollableColumns:t.groupHeaderScrollableColumns,onColumnResize:this._onColumnResize,onColumnReorder:i,onColumnReorderMove:this._onColumnReorderMove}));var n=this.state.maxScrollY,r=t.maxScrollX>0&&"hidden"!==t.overflowX&&t.showScrollbarX!==!1,l=n>0&&"hidden"!==t.overflowY&&t.showScrollbarY!==!1,a=r?p["default"].SIZE:0,u=t.height-a-2*A-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,m=f+t.footerHeight;void 0!==o.ownerHeight&&o.ownerHeightt.ownerHeight||t.scrollYr-U?o=Math.min(o+q,this.state.maxScrollX):U>=i&&(o=Math.max(o-q,0)),t.dragDistance+=this.state.scrollX-t.scrollStart,this.setState({scrollX:o,columnReorderingData:t})},_onColumnReorderEnd:function(e,t){var o=this.state.columnReorderingData.columnBefore,i=this.state.columnReorderingData.columnAfter,n=this.state.columnReorderingData.columnKey;this.setState({isReordering:!1,columnReorderingData:{}}),this.props.onColumnReorderEndCallback({columnBefore:o,columnAfter:i,reorderColumn:n});var r=this.props.onHorizontalScroll;this.state.columnReorderingData.scrollStart!==this.state.scrollX&&r&&r(this.state.scrollX)},_areColumnSettingsIdentical:function(e,t){if(e.length!==t.length)return!1;for(var o=0;o or "),o.push(e))});var i=!1;o.length&&o[0].type.__TableColumnGroup__&&(i=!0);var r,s,l,a=t&&t.firstRowIndex||0,u=t&&t.firstRowOffset||0;r=t?t.scrollX:0,e.scrollLeft!==this.props.scrollLeft&&(r=e.scrollLeft),s=t?t.scrollY:0,e.scrollTop!==this.props.scrollTop&&(l=this._scrollHelper.scrollTo(e.scrollTop),a=l.index,u=l.offset,s=l.position);var h=i?e.groupHeaderHeight:0;if(!t||e.rowsCount===t.rowsCount&&e.rowHeight===t.rowHeight)t&&e.rowHeightGetter!==t.rowHeightGetter&&this._scrollHelper.setRowHeightGetter(e.rowHeightGetter);else{var c=(void 0===e.height?e.maxHeight:e.height)-(e.headerHeight||0)-(e.footerHeight||0)-(e.groupHeaderHeight||0);this._scrollHelper=new C["default"](e.rowsCount,e.rowHeight,c,e.rowHeightGetter),l=this._scrollHelper.scrollToRow(a,u),a=l.index,u=l.offset,s=l.position}void 0!==this._rowToScrollTo&&(l=this._scrollHelper.scrollRowIntoView(this._rowToScrollTo),a=l.index,u=l.offset,s=l.position,delete this._rowToScrollTo);var d;d=e.isColumnResizing?t&&t.columnResizingData:Y;var f,m;if(i){var _=x["default"].adjustColumnGroupWidths(o,e.width);f=_.columns,m=_.columnGroups}else f=x["default"].adjustColumnWidths(o,e.width);var g=this._populateColumnsAndColumnData(f,m,t);if(void 0!==this._columnToScrollTo){var v=g.bodyFixedColumns.length;if(this._columnToScrollTo>=v){var w,b,R=0;for(w=0;ww;++w)b=g.bodyScrollableColumns[w],S+=b.props.width;var T=e.width-R,M=g.bodyScrollableColumns[y].props.width,D=S+M-T;D>r&&(r=D),r>S&&(r=S)}delete this._columnToScrollTo}var H=void 0===e.height,E=Math.round(H?e.maxHeight:e.height),k=e.footerHeight+e.headerHeight+h+2*A,I=E-k,O=this._scrollHelper.getContentHeight(),L=O+k,P=x["default"].getTotalWidth(f),F=P>e.width&&"hidden"!==e.overflowX&&e.showScrollbarX!==!1;F&&(I-=p["default"].SIZE,L+=p["default"].SIZE,k+=p["default"].SIZE);var N=Math.max(0,P-e.width),X=Math.max(0,O-I);r=Math.min(r,N),s=Math.min(s,X),X||(H&&(E=L),I=L-k),this._scrollHelper.setViewportHeight(I);var G=n({isColumnResizing:t&&t.isColumnResizing},g,e,{columns:f,columnGroups:m,columnResizingData:d,firstRowIndex:a,firstRowOffset:u,horizontalScrollbarVisible:F,maxScrollX:N,maxScrollY:X,reservedHeight:k,scrollContentHeight:O,scrollX:r,scrollY:s,bodyHeight:I,height:E,groupHeaderHeight:h,useGroupHeader:i});return G},_selectColumnElement:function(e,t){for(var o=[],i=0;iMath.abs(e)&&"hidden"!==this.props.overflowY){var i=this._scrollHelper.scrollBy(Math.round(t)),n=Math.max(0,i.contentHeight-this.state.bodyHeight);this.setState({firstRowIndex:i.index,firstRowOffset:i.offset,scrollY:i.position,scrollContentHeight:i.contentHeight,maxScrollY:n})}else if(e&&"hidden"!==this.props.overflowX){o+=e,o=0>o?0:o,o=o>this.state.maxScrollX?this.state.maxScrollX:o;var r=this.props.onHorizontalScroll;(r?r(o):!0)&&this.setState({scrollX:o})}this._didScrollStop()}},_onHorizontalScroll:function(e){if(this.isMounted()&&e!==this.state.scrollX){this._isScrolling||this._didScrollStart();var t=this.props.onHorizontalScroll;(t?t(e):!0)&&this.setState({scrollX:e}),this._didScrollStop()}},_onVerticalScroll:function(e){if(this.isMounted()&&e!==this.state.scrollY){this._isScrolling||this._didScrollStart();var t=this._scrollHelper.scrollTo(Math.round(e));this.setState({firstRowIndex:t.index,firstRowOffset:t.offset,scrollY:t.position,scrollContentHeight:t.contentHeight}),this._didScrollStop()}},_didScrollStart:function(){this.isMounted()&&!this._isScrolling&&(this._isScrolling=!0,this.props.onScrollStart&&this.props.onScrollStart(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))},_didScrollStop:function(){this.isMounted()&&this._isScrolling&&(this._isScrolling=!1,this.setState({redraw:!0}),this.props.onScrollEnd&&this.props.onScrollEnd(this.state.scrollX,this.state.scrollY,this.state.firstRowIndex))}}),j=s["default"].createClass({displayName:"HorizontalScrollbar",mixins:[a["default"]],propTypes:{contentSize:X.number.isRequired,offset:X.number.isRequired,onScroll:X.func.isRequired,position:X.number.isRequired,size:X.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={height:p["default"].SIZE,width:this.props.size},t={height:p["default"].SIZE,position:"absolute",overflow:"hidden",width:this.props.size};return(0,N["default"])(t,0,this.props.offset,this._initialRender),s["default"].createElement("div",{className:(0,O["default"])((0,T["default"])("fixedDataTableLayout/horizontalScrollbar"),(0,T["default"])("public/fixedDataTable/horizontalScrollbar")),style:e},s["default"].createElement("div",{style:t},s["default"].createElement(p["default"],n({},this.props,{isOpaque:!0,orientation:"horizontal",offset:void 0}))))}});e.exports=K},function(e,t,o){"use strict";e.exports=o(30)},function(t,o){t.exports=e},function(e,t){"use strict";function o(e,t){if(e===t)return!0;var o;for(o in e)if(e.hasOwnProperty(o)&&(!t.hasOwnProperty(o)||e[o]!==t[o]))return!1;for(o in t)if(t.hasOwnProperty(o)&&!e.hasOwnProperty(o))return!1;return!0}var i={shouldComponentUpdate:function(e,t){return!o(this.props,e)||!o(this.state,t)}};e.exports=i},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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;oi?-1:1),n&&!o&&(o=1>n?-1:1),{spinX:t,spinY:o,pixelX:i,pixelY:n}}var r=o(35),s=i(r),l=o(36),a=i(l),u=10,h=40,c=800;n.getEventType=function(){return s["default"].firefox()?"DOMMouseScroll":(0,a["default"])("wheel")?"wheel":"mousewheel"},e.exports=n},function(e,t){"use strict";function o(){if(!v){v=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),o=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(p=/\b(iPhone|iP[ao]d)/.exec(e),m=/\b(iP[ao]d)/.exec(e),d=/Android/i.exec(e),_=/FBAN\/\w+;/i.exec(e),g=/Mobile/i.exec(e),f=!!/Win64/.exec(e),t){i=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,i&&document&&document.documentMode&&(i=document.documentMode);var w=/(?:Trident\/(\d+.\d+))/.exec(e);a=w?parseFloat(w[1])+4:i,n=t[2]?parseFloat(t[2]):NaN,r=t[3]?parseFloat(t[3]):NaN,s=t[4]?parseFloat(t[4]):NaN,s?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),l=t&&t[1]?parseFloat(t[1]):NaN):l=NaN}else i=n=r=l=s=NaN;if(o){if(o[1]){var b=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);u=b?parseFloat(b[1].replace("_",".")):!0}else u=!1;h=!!o[2],c=!!o[3]}else u=h=c=!1}}var i,n,r,s,l,a,u,h,c,d,f,p,m,_,g,v=!1,w={ie:function(){return o()||i},ieCompatibilityMode:function(){return o()||a>i},ie64:function(){return w.ie()&&f},firefox:function(){return o()||n},opera:function(){return o()||r},webkit:function(){return o()||s},safari:function(){return w.webkit()},chrome:function(){return o()||l},windows:function(){return o()||h},osx:function(){return o()||u},linux:function(){return o()||c},iphone:function(){return o()||p},mobile:function(){return o()||p||m||d||g},nativeApp:function(){return o()||_},android:function(){return o()||d},ipad:function(){return o()||m}};e.exports=w},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!l["default"].canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,i=o in document;if(!i){var n=document.createElement("div");n.setAttribute(o,"return;"),i="function"==typeof n[o]}return!i&&r&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}var r,s=o(37),l=i(s);l["default"].canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=n},function(e,t){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen,isInWorker:!o};e.exports=i},function(e,t,o){(function(t){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(33),r=i(n),s=o(39),l=i(s),a=0,u=l["default"]||function(e){var o=Date.now(),i=Math.max(0,16-(o-a));return a=o+i,t.setTimeout(function(){e(Date.now())},i)};u(r["default"]),e.exports=u}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";var o=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame;e.exports=o}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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),r===!0&&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,i=this._velocityY,n=.8;f>t&&(n*=t/f),0===o&&0===i&&(n=1),this._velocityX=n*(f*this._accumulatedDeltaX/(1+t)),1>n&&(this._velocityX+=(1-n)*o),this._velocityY=n*(f*this._accumulatedDeltaY/(1+t)),1>n&&(this._velocityY+=(1-n)*i),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=c*Math.exp(-e/d),o=t*this._velocityX,i=t*this._velocityY;(Math.abs(o)<=5||!this._handleScrollX(o,i))&&(o=0),(Math.abs(i)<=5||!this._handleScrollY(i,o))&&(i=0),0===o&&0===i||(this._onTouchScrollCallback(o,i),(0,u["default"])(this._autoScroll))}}]),e}();e.exports=p},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(42),r=i(n),s=o(45),l=i(s),a=o(29),u=i(a),h=o(46),c=i(h),d=o(31),f=i(d),p=o(32),m=i(p),_=o(48),g=i(_),v=o(49),w=i(v),b=o(33),R=i(b),C=o(50),y=i(C),x=u["default"].PropTypes,S={position:0,scrollable:!1},T=parseInt((0,g["default"])("scrollbar-face-margin"),10),M=2*T,D=30,H=40,E=null,k=u["default"].createClass({displayName:"Scrollbar",mixins:[f["default"]],propTypes:{contentSize:x.number.isRequired,defaultPosition:x.number,isOpaque:x.bool,orientation:x.oneOf(["vertical","horizontal"]),onScroll:x.func,position:x.number,size:x.number.isRequired,trackColor:x.oneOf(["gray"]),zIndex:x.number,verticalTop:x.number},getInitialState:function(){var e=this.props;return this._calculateState(e.position||e.defaultPosition||0,e.size,e.contentSize,e.orientation)},componentWillReceiveProps:function(e){var t=e.position;void 0===t?this._setNextState(this._calculateState(this.state.position,e.size,e.contentSize,e.orientation)):this._setNextState(this._calculateState(t,e.size,e.contentSize,e.orientation),e)},getDefaultProps:function(){return{defaultPosition:0,isOpaque:!1,onScroll:R["default"],orientation:"vertical",zIndex:99}},render:function(){if(!this.state.scrollable)return null;var e,t,o=this.props.size,i=this.state.isHorizontal,n=!i,r=this.state.focused||this.state.isDragging,s=this.state.faceSize,l=this.props.isOpaque,a=this.props.verticalTop||0,h=(0,w["default"])({"ScrollbarLayout/main":!0,"ScrollbarLayout/mainVertical":n,"ScrollbarLayout/mainHorizontal":i,"public/Scrollbar/main":!0,"public/Scrollbar/mainOpaque":l,"public/Scrollbar/mainActive":r}),c=(0,w["default"])({"ScrollbarLayout/face":!0,"ScrollbarLayout/faceHorizontal":i,"ScrollbarLayout/faceVertical":n,"public/Scrollbar/faceActive":r,"public/Scrollbar/face":!0}),d=this.state.position*this.state.scale+T;return i?(e={width:o},t={width:s-M},(0,y["default"])(t,d,0,this._initialRender)):(e={top:a,height:o},t={height:s-M},(0,y["default"])(t,0,d,this._initialRender)),e.zIndex=this.props.zIndex,"gray"===this.props.trackColor&&(e.backgroundColor=(0,g["default"])("fbui-desktop-background-light")),u["default"].createElement("div",{onFocus:this._onFocus,onBlur:this._onBlur,onKeyDown:this._onKeyDown,onMouseDown:this._onMouseDown,onWheel:this._wheelHandler.onWheel,className:h,style:e,tabIndex:0},u["default"].createElement("div",{ref:"face",className:c,style:t}))},componentWillMount:function(){var e="horizontal"===this.props.orientation,t=e?this._onWheelX:this._onWheelY;this._wheelHandler=new m["default"](t,this._shouldHandleX,this._shouldHandleY),this._initialRender=!0},componentDidMount:function(){this._mouseMoveTracker=new r["default"](this._onMouseMove,this._onMouseMoveEnd,document.documentElement),void 0!==this.props.position&&this.state.position!==this.props.position&&this._didScroll(),this._initialRender=!1},componentWillUnmount:function(){this._nextState=null,this._mouseMoveTracker.releaseMouseMoves(),E===this&&(E=null),delete this._mouseMoveTracker},scrollBy:function(e){this._onWheel(e)},_shouldHandleX:function(e){return"horizontal"===this.props.orientation?this._shouldHandleChange(e):!1},_shouldHandleY:function(e){return"horizontal"!==this.props.orientation?this._shouldHandleChange(e):!1},_shouldHandleChange:function(e){var t=this._calculateState(this.state.position+e,this.props.size,this.props.contentSize,this.props.orientation);return t.position!==this.state.position},_calculateState:function(e,t,o,i){if(1>t||t>=o)return S;var n=e+"_"+t+"_"+o+"_"+i;if(this._stateKey===n)return this._stateForKey;var r="horizontal"===i,s=t/o,l=t*s;D>l&&(s=(t-D)/(o-t),l=D);var a=!0,u=o-t;0>e?e=0:e>u&&(e=u);var h=this._mouseMoveTracker?this._mouseMoveTracker.isDragging():!1,c={faceSize:l,isDragging:h,isHorizontal:r,position:e,scale:s,scrollable:a};return this._stateKey=n,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!==c["default"].findDOMNode(this.refs.face)){var o=e.nativeEvent,i=this.state.isHorizontal?o.offsetX||o.layerX:o.offsetY||o.layerY,n=this.props; +i/=this.state.scale,t=this._calculateState(i-.5*this.state.faceSize/this.state.scale,n.size,n.contentSize,n.orientation)}else t={};t.focused=!0,this._setNextState(t),this._mouseMoveTracker.captureMouseMoves(e),c["default"].findDOMNode(this).focus()},_onMouseMove:function(e,t){var o=this.props,i=this.state.isHorizontal?e:t;i/=this.state.scale,this._setNextState(this._calculateState(this.state.position+i,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!==l["default"].TAB){var o=H,i=0;if(this.state.isHorizontal)switch(t){case l["default"].HOME:i=-1,o=this.props.contentSize;break;case l["default"].LEFT:i=-1;break;case l["default"].RIGHT:i=1;break;default:return}if(!this.state.isHorizontal)switch(t){case l["default"].SPACE:i=e.shiftKey?-1:1;break;case l["default"].HOME:i=-1,o=this.props.contentSize;break;case l["default"].UP:i=-1;break;case l["default"].DOWN:i=1;break;case l["default"].PAGE_UP:i=-1,o=this.props.size;break;case l["default"].PAGE_DOWN:i=1,o=this.props.size;break;default:return}e.preventDefault();var n=this.props;this._setNextState(this._calculateState(this.state.position+o*i,n.size,n.contentSize,n.orientation))}},_onFocus:function(){this.setState({focused:!0})},_onBlur:function(){this.setState({focused:!1})},_blur:function(){if(this.isMounted())try{this._onBlur(),c["default"].findDOMNode(this).blur()}catch(e){}},_setNextState:function(e,t){t=t||this.props;var o=t.position,i=this.state.position!==e.position;if(void 0===o){var n=i?this._didScroll:void 0;this.setState(e,n)}else{if(o!==e.position)return void(void 0!==e.position&&e.position!==this.state.position&&this.props.onScroll(e.position));this.setState(e)}i&&E!==this&&(E&&E._blur(),E=this)},_didScroll:function(){this.props.onScroll(this.state.position)}});k.KEYBOARD_SCROLL_AMOUNT=H,k.SIZE=parseInt((0,g["default"])("scrollbar-size"),10),e.exports=k},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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;o0;)this._addRowToBuffer(t,this._viewportRowsBegin,this._viewportRowsEnd-1),t++,e--;return this._rows}},{key:"getRows",value:function(e,t){var o=t,i=o,n=e,r=Math.min(e+this._maxVisibleRowCount,this._rowsCount);for(this._viewportRowsBegin=e;r>n||i=r&&(i=this._bufferSet.replaceFurthestValuePosition(t,o,e)),null===i?(i=this._bufferSet.getNewPositionForValue(e),this._rows[i]=e):this._rows[i]=e}}]),e}();e.exports=p},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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&&t>=n)return null;var r;e-i>n-t?(r=i,this._smallValues.pop()):(r=n,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()),t=Math.max(this._smallValues.size(),this._largeValues.size());t>10*e&&this._recreateHeaps()}},{key:"_recreateHeaps",value:function(){for(var e=this._smallValues.size()t.value}}]),e}();e.exports=h},function(e,t){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return t>e}var n=function(){function e(e,t){for(var o=0;o0&&(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(){return 0!==this._size?this._items[0]:void 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,i=this._items[o];if(this._comparator(i,t))return;this._items[o]=t,this._items[e]=i,e=o}}},{key:"_sinkDown",value:function(e){for(var t=this._items[e];;){var o=2*(e+1)-1,i=2*(e+1),n=-1;if(oe?t:e>o?o:e}e.exports=o},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=Object.assign||function(e){for(var t=1;t0){var t=(0,h["default"])({"fixedDataTableRowLayout/fixedColumnsDivider":!0,"fixedDataTableRowLayout/columnsShadow":this.props.scrollLeft>0,"public/fixedDataTableRow/fixedColumnsDivider":!0,"public/fixedDataTableRow/columnsShadow":this.props.scrollLeft>0}),o={left:e,height:this.props.height};return s["default"].createElement("div",{className:t,style:o})}},_onClick:function(e){this.props.onClick(e,this.props.index)},_onDoubleClick:function(e){this.props.onDoubleClick(e,this.props.index)},_onMouseDown:function(e){this.props.onMouseDown(e,this.props.index)},_onMouseEnter:function(e){this.props.onMouseEnter(e,this.props.index)},_onMouseLeave:function(e){this.props.onMouseLeave(e,this.props.index)}}),g=s["default"].createClass({displayName:"FixedDataTableRow",propTypes:{isScrolling:m.bool,height:m.number.isRequired,zIndex:m.number,offsetTop:m.number.isRequired,width:m.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={width:this.props.width,height:this.props.height,zIndex:this.props.zIndex?this.props.zIndex:0};return(0,p["default"])(e,0,this.props.offsetTop,this._initialRender),s["default"].createElement("div",{style:e,className:(0,h["default"])("fixedDataTableRowLayout/rowWrapper")},s["default"].createElement(_,n({},this.props,{offsetTop:void 0,zIndex:void 0})))}});e.exports=g},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var o={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(o[i]=e[i]);return o}var r=Object.assign||function(e){for(var t=1;ts;s++){var a=t[s].props,h=a.allowCellsRecycling&&!n;if(!h||r-e.left<=e.width&&r-e.left+a.width>=0){var c="cell_"+s;o[s]=this._renderCell(e.rowIndex,e.rowHeight,a,r,c,i,n)}r+=a.width}var d={height:e.height,position:"absolute",width:i,zIndex:e.zIndex};return(0,m["default"])(d,-1*g*e.left,0,this._initialRender),u["default"].createElement("div",{className:(0,f["default"])("fixedDataTableCellGroupLayout/cellGroup"),style:d},o)},_renderCell:function(e,t,o,i,n,r,s){var l=o.isResizable&&this.props.onColumnResize,a=l?this.props.onColumnResize:null,h=o.isReorderable&&this.props.onColumnReorder&&-1===e&&r!==o.width,d=h?this.props.onColumnReorder:null,f=o.cellClassName;return u["default"].createElement(c["default"],{isScrolling:this.props.isScrolling,align:o.align,className:f,height:t,key:n,maxWidth:o.maxWidth,minWidth:o.minWidth,onColumnResize:a,onColumnReorder:d,onColumnReorderMove:this.props.onColumnReorderMove,onColumnReorderEnd:this.props.onColumnReorderEnd,isColumnReordering:s,columnReorderingData:this.props.columnReorderingData,rowIndex:e,columnKey:o.columnKey,width:o.width,left:i,cell:o.cell,columnGroupWidth:r})},_getColumnsWidth:function(e){for(var t=0,o=0;o should never render")}});e.exports=l},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(29),r=i(n),s=r["default"].PropTypes,l=r["default"].createClass({displayName:"FixedDataTableColumn",statics:{__TableColumn__:!0},propTypes:{align:s.oneOf(["left","center","right"]),fixed:s.bool,header:s.oneOfType([s.node,s.func]),cell:s.oneOfType([s.node,s.func]),footer:s.oneOfType([s.node,s.func]),columnKey:s.oneOfType([s.string,s.number]),width:s.number.isRequired,minWidth:s.number,maxWidth:s.number,flexGrow:s.number,isResizable:s.bool,isReorderable:s.bool,allowCellsRecycling:s.bool},getDefaultProps:function(){return{allowCellsRecycling:!1,fixed:!1}},render:function(){throw new Error("Component should never render")}});e.exports=l},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var o={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(o[i]=e[i]);return o}var r=Object.assign||function(e){for(var t=1;ta,h=i>e.left,c=!1;u?a>n&&(c=!0,h?o.displacement=e.columnReorderingData.columnWidth:o.displacement=0):s>a&&(c=!0,h?o.displacement=0:o.displacement=-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 b},render:function(){var e=this.props,t=e.height,o=e.width,i=e.columnKey,s=n(e,["height","width","columnKey"]),a={height:t,width:o};1===v?a.left=s.left:a.right=s.left,this.state.isReorderingThisColumn&&(a.transform="translateX("+this.state.displacement+"px) translateZ(0)",a.zIndex=1);var h,c=(0,g["default"])((0,m["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={height:t};h=f["default"].createElement("div",{className:(0,m["default"])("fixedDataTableCellLayout/columnResizerContainer"),style:d,onMouseDown:this._onColumnResizerMouseDown},f["default"].createElement("div",{className:(0,g["default"])((0,m["default"])("fixedDataTableCellLayout/columnResizerKnob"),(0,m["default"])("public/fixedDataTableCell/columnResizerKnob")),style:d}))}var p;s.onColumnReorder&&(p=f["default"].createElement(u["default"],r({columnKey:this.columnKey,onMouseDown:this._onColumnReorderMouseDown, +height:t},this.props)));var _={columnKey:i,height:t,width:o};s.rowIndex>=0&&(_.rowIndex=s.rowIndex);var w;return w=f["default"].isValidElement(s.cell)?f["default"].cloneElement(s.cell,_):"function"==typeof s.cell?s.cell(_):f["default"].createElement(l["default"],_,s.cell),f["default"].createElement("div",{className:c,style:a},h,p,w)},_onColumnResizerMouseDown:function(e){this.props.onColumnResize(this.props.left,this.props.width,this.props.minWidth,this.props.maxWidth,this.props.columnKey,e)},_onColumnReorderMouseDown:function(e){this.props.onColumnReorder(this.props.columnKey,this.props.width,this.props.left,e)}});e.exports=R},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){var o={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(o[i]=e[i]);return o}var r=Object.assign||function(e){for(var t=1;t1)for(var i=1;o>i;i++)t=arguments[i],t&&(e=(e?e+" ":"")+t);return e}e.exports=o},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(42),r=i(n),s=o(64),l=(i(s),o(29)),a=i(l),u=o(31),h=i(u),c=o(60),d=(i(c),o(49)),f=i(d),p=a["default"].PropTypes,m=a["default"].createClass({displayName:"FixedDataTableColumnReorderHandle",mixins:[h["default"]],propTypes:{onColumnReorderEnd:p.func,columnKey:p.oneOfType([p.string,p.number])},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 a["default"].createElement("div",{className:(0,f["default"])({"fixedDataTableCellLayout/columnReorderContainer":!0,"fixedDataTableCellLayout/columnReorderContainer/active":!1}),onMouseDown:this.onMouseDown,style:e})},onMouseDown:function(e){var t=e.target.getBoundingClientRect(),o=e.clientX-t.offsetLeft,i=o+e.target.parentElement.offsetLeft;this._mouseMoveTracker=new r["default"](this._onMove,this._onColumnReorderEnd,document.body),this._mouseMoveTracker.captureMouseMoves(e),this.setState({dragDistance:0}),this.props.onMouseDown({columnKey:this.props.columnKey,mouseLocation:{dragDistance:0,inElement:o,inColumnGroup:i}}),this._distance=0,this._animating=!0,this.frameId=requestAnimationFrame(this._updateState)},_onMove:function(e){this._distance=this.state.dragDistance+e},_onColumnReorderEnd:function(){this._animating=!1,cancelAnimationFrame(this.frameId),this.frameId=null,this._mouseMoveTracker.releaseMouseMoves(),this.props.onColumnReorderEnd()},_updateState:function(){this._animating&&(this.frameId=requestAnimationFrame(this._updateState)),this.setState({dragDistance:this._distance}),this.props.onColumnReorderMove(this._distance)}});e.exports=m},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}var n=o(42),r=i(n),s=o(64),l=i(s),a=o(29),u=i(a),h=o(31),c=i(h),d=o(60),f=i(d),p=o(49),m=i(p),_=u["default"].PropTypes,g=u["default"].createClass({displayName:"FixedDataTableColumnResizeHandle",mixins:[c["default"]],propTypes:{visible:_.bool.isRequired,height:_.number.isRequired,leftOffset:_.number.isRequired,knobHeight:_.number.isRequired,initialWidth:_.number,minWidth:_.number,maxWidth:_.number,initialEvent:_.object,onColumnResizeEnd:_.func,columnKey:_.oneOfType([_.string,_.number])},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)},componentWillUnmount:function(){this._mouseMoveTracker.releaseMouseMoves(),this._mouseMoveTracker=null},render:function(){var e={width:this.state.width,height:this.props.height};return l["default"].isRTL()?e.right=this.props.leftOffset:e.left=this.props.leftOffset,u["default"].createElement("div",{className:(0,m["default"])({"fixedDataTableColumnResizerLineLayout/main":!0,"fixedDataTableColumnResizerLineLayout/hiddenElem":!this.props.visible,"public/fixedDataTableColumnResizerLine/main":!0}),style:e},u["default"].createElement("div",{className:(0,m["default"])("fixedDataTableColumnResizerLineLayout/mouseArea"),style:{height:this.props.height}}))},_onMove:function(e){l["default"].isRTL()&&(e=-e);var t=this.state.cursorDelta+e,o=(0,f["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=g},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(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;os;++s)this._storedHeights[s]=o;this._rowCount=t,this._position=0,this._contentHeight=t*o,this._defaultRowHeight=o,this._rowHeightGetter=r?r:function(){return o},this._viewportHeight=i,this.scrollRowIntoView=this.scrollRowIntoView.bind(this),this.setViewportHeight=this.setViewportHeight.bind(this),this.scrollBy=this.scrollBy.bind(this),this.scrollTo=this.scrollTo.bind(this),this.scrollToRow=this.scrollToRow.bind(this),this.setRowHeightGetter=this.setRowHeightGetter.bind(this),this.getContentHeight=this.getContentHeight.bind(this),this.getRowPosition=this.getRowPosition.bind(this),this._updateHeightsInViewport(0,0)}return r(e,[{key:"setRowHeightGetter",value:function(e){this._rowHeightGetter=e}},{key:"setViewportHeight",value:function(e){this._viewportHeight=e}},{key:"getContentHeight",value:function(){return this._contentHeight}},{key:"_updateHeightsInViewport",value:function(e,t){for(var o=t,i=e;o<=this._viewportHeight&&i=0&&t>=e-h;){var o=this._updateRowHeight(t);this._position+=o,t--}}},{key:"_updateRowHeight",value:function(e){if(0>e||e>=this._rowCount)return 0;var t=this._rowHeightGetter(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),i=t,n=this._position,r=this._updateRowHeight(i);0!==o&&(n+=r);var s=this._storedHeights[i]-(n-o);if(e>=0)for(;e>0&&ie?(n+=e,e=0):(e-=s,n+=s,i++),ie){e=-e;for(var l=this._storedHeights[i]-s;e>0&&i>=0;)if(l>e?(n-=e,e=0):(n-=l,e-=l,i--),i>=0){var a=this._updateRowHeight(i);l=this._storedHeights[i],n+=a}}var h=this._contentHeight-this._viewportHeight;n=(0,u["default"])(n,0,h),this._position=n;var d=this._rowOffsets.greatestLowerBound(n);d=(0,u["default"])(d,0,Math.max(this._rowCount-1,0)),o=this._rowOffsets.sumUntil(d);var f=o-n;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--,t>=0&&(this._updateRowHeight(t),o+=this._storedHeights[t]);var i=this._rowOffsets.sumTo(e)-this._viewportHeight;return 0>i&&(i=0),i}},{key:"scrollTo",value:function(e){if(0===this._rowCount)return c;if(0>=e)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 i=this._rowOffsets.sumUntil(o),n=i-e;return this._updateHeightsInViewport(o,n),this._updateHeightsAboveViewport(o),{index:o,offset:n,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));var t=this._rowOffsets.sumUntil(e),o=t+this._storedHeights[e];if(tt;)t*=2;return t}var s=function(){function e(e,t){for(var o=0;o=0;--o)t[o]=0;return t},c=function(){function e(t){n(this,e),this._size=t.length,this._half=r(this._size),this._heap=new h(2*this._half);var o;for(o=0;o0;--o)this._heap[o]=this._heap[2*o]+this._heap[2*o+1]}return s(e,[{key:"set",value:function(e,t){(0,a["default"])(e>=0&&e=0&&e=0&&e=0&&e=e,"Begin must precede end"),this.sumUntil(t)-this.sumUntil(e)}},{key:"greatestLowerBound",value:function(e){if(0>e)return-1;var t=1;if(this._heap[t]<=e)return this._size;for(;te?t=2*t:(t=2*t+1,e-=o)}return t-this._half}},{key:"greatestStrictLowerBound",value:function(e){if(0>=e)return-1;var t=1;if(this._heap[t]=e?t=2*t:(t=2*t+1,e-=o)}return t-this._half}},{key:"leastUpperBound",value:function(e){return this.greatestStrictLowerBound(e)+1}},{key:"leastStrictUpperBound",value:function(e){return this.greatestLowerBound(e)+1}}],[{key:"uniform",value:function(t,o){for(var i=[],n=t-1;n>=0;--n)i[n]=o;return new e(i)}},{key:"empty",value:function(t){return e.uniform(t,0)}}]),e}();e.exports=c}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e){for(var t=0,o=0;o=t)return{columns:e,width:n(e)};for(var o=r(e),i=t,s=[],l=0,a=0;ao?s(e,t-o).columns:e}var u=o(29),h=i(u),c={getTotalWidth:n,getTotalFlexGrow:r,distributeFlexWidth:s,adjustColumnWidths:a,adjustColumnGroupWidths:l};e.exports=c},function(e,t){"use strict";function o(e,t,o,i,n){function r(){for(var n=arguments.length,l=Array(n),a=0;n>a;a++)l[a]=arguments[a];r.reset();var u=function(){e.apply(o,l)};u.__SMmeta=e.__SMmeta,s=i(u,t)}i=i||setTimeout,n=n||clearTimeout;var s;return r.reset=function(){n(s)},r}e.exports=o},function(e,t){"use strict";function o(e,t){if(e===t)return!0;if("object"!==("undefined"==typeof e?"undefined":i(e))||null===e||"object"!==("undefined"==typeof t?"undefined":i(t))||null===t)return!1;var o=Object.keys(e),r=Object.keys(t);if(o.length!==r.length)return!1;for(var s=n.bind(t),l=0;l