text: /**
   * FixedDataTable v0.6.0 
   *
   * Copyright (c) 2015, Facebook, Inc.
   * All rights reserved.
   *
   * This source code is licensed under the BSD-style license found in the
   * LICENSE file in the root directory of this source tree. An additional grant
   * of patent rights can be found in the PATENTS file in the same directory.
   */
  
  !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),e.exports=o(25)},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";var i=o(26),n=o(66),r=o(64),s=o(63),a={Cell:n,Column:r,ColumnGroup:s,Table:i};a.version="0.6.0",e.exports=a},function(e,t,o){"use strict";function i(e,t){m[e]||(console.warn("`"+e+"` will be DEPRECATED in version "+f+" of FixedDataTable and beyond. \n"+t+"\nRead the docs at: "+p),m[e]=!0)}var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},r=o(27),s=r.Children,a=r.PropTypes,l=o(29),u=o(74),h=o(75),c=o(76),f="0.7.0",p="https://fburl.com/FixedDataTable-v0.6",d={},m={},_=r.createClass({displayName:"TransitionTable",propTypes:{width:a.number.isRequired,height:a.number,maxHeight:a.number,ownerHeight:a.number,overflowX:a.oneOf(["hidden","auto"]),overflowY:a.oneOf(["hidden","auto"]),rowsCount:a.number.isRequired,rowHeight:a.number.isRequired,rowHeightGetter:a.func,rowGetter:a.func,rowClassNameGetter:a.func,groupHeaderHeight:a.number,headerHeight:a.number.isRequired,headerDataGetter:a.func,footerHeight:a.number,footerData:a.oneOfType([a.object,a.array]),footerDataGetter:a.func,scrollLeft:a.number,scrollToColumn:a.number,scrollTop:a.number,scrollToRow:a.number,onScrollStart:a.func,onScrollEnd:a.func,onContentHeightChange:a.func,onRowClick:a.func,onRowDoubleClick:a.func,onRowMouseDown:a.func,onRowMouseEnter:a.func,onRowMouseLeave:a.func,onColumnResizeEndCallback:a.func,isColumnResizing:a.bool},getInitialState:function(){var e={};return e.needsMigration=this._checkDeprecations(),e},_checkDeprecations:function(){var e=!1;return this.props.rowGetter&&(i("rowGetter","Please use the cell API in Column to fetch data for your cells."),e=!0),this.props.headerDataGetter&&i("headerDataGetter","Please use the header API in Column to fetch data for your header cells."),this.props.footerData&&i("footerData","Please use the footer API in Column to fetch data for your footer cells."),this.props.footerDataGetter&&i("footerDataGetter","Please use the footer API in Column to fetch data for your footer cells."),s.forEach(this.props.children,function(e){if(e&&e.props){var t=e.props;t.label&&i("label","Please use `header` instead."),t.dataKey&&i("dataKey","Please use the `cell` API to pass in a dataKey"),t.cellRenderer&&i("cellRenderer","Please use the `cell` API to pass in a React Element instead."),t.headerRenderer&&i("headerRenderer","Please use the `header` API to pass in a React Element instead."),t.columnData&&i("columnData","Please pass data in through props to your header, cell or footer."),t.groupHeaderRenderer&&i("groupHeaderRenderer","Please use the `header` API in ColumnGroup to pass in a React Element instead of a function that creates one."),t.groupHeaderData&&i("groupHeaderData","Please pass in any data through props to your header.")}}),e},_onRowAction:function(e,t){return t?function(o,i){t(o,i,e.rowGetter&&e.rowGetter(i)||d)}:void 0},_transformColumn:function(e,t,o){var i=e.props;return e.type.__TableColumn__?r.createElement(u,n({key:"column_"+o},i,{header:r.createElement(c,{isHeaderCell:!0,label:i.label,width:i.width,dataKey:i.dataKey,className:i.headerClassName,columnData:i.columnData||d,cellRenderer:i.headerRenderer,headerDataGetter:t.headerDataGetter}),columnKey:i.dataKey,cell:r.createElement(c,{dataKey:i.dataKey,className:i.cellClassName,rowGetter:t.rowGetter,width:i.width,columnData:i.columnData||d,cellDataGetter:i.cellDataGetter,cellRenderer:i.cellRenderer}),footer:r.createElement(c,{isFooterCell:!0,className:i.footerClassName,dataKey:i.dataKey,cellRenderer:i.footerRenderer,footerDataGetter:t.footerDataGetter,footerData:t.footerData||d})})):void 0},_transformColumnGroup:function(e,t,o,i){var a=this,l=e.props,u=0,f=s.map(l.children,function(e){return u++,a._transformColumn(e,t,o+"_"+u)});return r.createElement(h,n({},l,{key:"group_"+o,header:r.createElement(c,{isHeaderCell:!0,label:e.props.label,dataKey:o,groupHeaderRenderer:l.groupHeaderRenderer,groupHeaderLabels:i,groupHeaderData:l.columnGroupData||d})}),f)},_convertedColumns:function(e){var t=this;if(!e)return s.map(this.props.children,function(e){return e?e.type.__TableColumn__?r.createElement(u,e.props):e.type.__TableColumnGroup__?r.createElement(h,e.props):void 0:null});var o=this.props,i=0;return s.map(this.props.children,function(e){if(!e)return null;if(e.type.__TableColumn__&&(e=t._transformColumn(e,o,i)),e.type.__TableColumnGroup__){var n=[];s.forEach(t.props.children,function(e){n.push(e.props.label)}),e=t._transformColumnGroup(e,o,i,n)}return i++,e})},render:function(){var e=this.props;return r.createElement(l,n({},e,{onRowMouseDown:this._onRowAction(e,e.onRowMouseDown),onRowClick:this._onRowAction(e,e.onRowClick),onRowDoubleClick:this._onRowAction(e,e.onRowDoubleClick),onRowMouseEnter:this._onRowAction(e,e.onRowMouseEnter),onRowMouseLeave:this._onRowAction(e,e.onRowMouseLeave)}),this._convertedColumns(this.state.needsMigration))}});e.exports=_},function(e,t,o){"use strict";e.exports=o(28)},function(t,o){t.exports=e},function(e,t,o){"use strict";var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},n=o(27),r=o(30),s=o(31),a=o(39),l=o(54),u=o(68),h=o(59),c=o(69),f=o(71),p=o(47),d=o(72),m=o(32),_=o(53),w=o(67),g=o(73),v=o(48),b=n.PropTypes,y=n.Children,C={},R=1,x="header",T="footer",S="cell",D=n.createClass({displayName:"FixedDataTable",propTypes:{width:b.number.isRequired,height:b.number,maxHeight:b.number,ownerHeight:b.number,overflowX:b.oneOf(["hidden","auto"]),overflowY:b.oneOf(["hidden","auto"]),rowsCount:b.number.isRequired,rowHeight:b.number.isRequired,rowHeightGetter:b.func,rowClassNameGetter:b.func,groupHeaderHeight:b.number,headerHeight:b.number.isRequired,footerHeight:b.number,scrollLeft:b.number,scrollToColumn:b.number,scrollTop:b.number,scrollToRow:b.number,onScrollStart:b.func,onScrollEnd:b.func,onContentHeightChange:b.func,onRowClick:b.func,onRowDoubleClick:b.func,onRowMouseDown:b.func,onRowMouseEnter:b.func,onRowMouseLeave:b.func,onColumnResizeEndCallback:b.func,isColumnResizing:b.bool},getDefaultProps:function(){return{footerHeight:0,groupHeaderHeight:0,headerHeight:0,scrollLeft:0,scrollTop:0}},getInitialState:function(){var e=this.props,t=(void 0===e.height?e.maxHeight:e.height)-(e.headerHeight||0)-(e.footerHeight||0)-(e.groupHeaderHeight||0);return this._scrollHelper=new c(e.rowsCount,e.rowHeight,t,e.rowHeightGetter),e.scrollTop&&this._scrollHelper.scrollTo(e.scrollTop),this._didScrollStop=d(this._didScrollStop,200,this),this._calculateState(this.props)},componentWillMount:function(){var e=this.props.scrollToRow;void 0!==e&&null!==e&&(this._rowToScrollTo=e);var t=this.props.scrollToColumn;void 0!==t&&null!==t&&(this._columnToScrollTo=t),this._wheelHandler=new s(this._onWheel,this._shouldHandleWheelX,this._shouldHandleWheelY)},_shouldHandleWheelX:function(e){return"hidden"===this.props.overflowX?!1:(e=Math.round(e),0===e?!1:0>e&&this.state.scrollX>0||e>=0&&this.state.scrollX<this.state.maxScrollX)},_shouldHandleWheelY:function(e){return"hidden"===this.props.overflowY||0===e?!1:(e=Math.round(e),0===e?!1:0>e&&this.state.scrollY>0||e>=0&&this.state.scrollY<this.state.maxScrollY)},_reportContentHeight:function(){var e,t=this.state.scrollContentHeight,o=this.state.reservedHeight,i=t+o,n=void 0===this.props.height;e=n&&this.props.maxHeight>i?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;(i!==this.props.overflowX||n!==this.props.overflowY)&&(this._wheelHandler=new s(this._onWheel,"hidden"!==i,"hidden"!==n)),(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;t.useGroupHeader&&(e=n.createElement(h,{key:"group_header",isScrolling:this._isScrolling,className:w(p("fixedDataTableLayout/header"),p("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}));var i=this.state.maxScrollY,r=t.maxScrollX>0&&"hidden"!==t.overflowX,s=i>0&&"hidden"!==t.overflowY,l=r?a.SIZE:0,c=t.height-l-2*R-t.footerHeight,f=t.useGroupHeader?t.groupHeaderHeight:0,d=f+t.headerHeight;c-=d;var m=0,_=null!=o.maxHeight?d+t.bodyHeight:d+c,g=_+t.footerHeight;void 0!==o.ownerHeight&&o.ownerHeight<t.height&&(m=o.ownerHeight-t.height,_=Math.min(_,o.ownerHeight-t.footerHeight-l),c=Math.max(0,_-d));var v;s&&(v=n.createElement(a,{size:c,contentSize:c+i,onScroll:this._onVerticalScroll,verticalTop:d,position:t.scrollY}));var b;if(r){var y=t.width;b=n.createElement(H,{contentSize:y+t.maxScrollX,offset:m,onScroll:this._onHorizontalScroll,position:t.scrollX,size:y})}var C=n.createElement(u,{height:t.height,initialWidth:t.columnResizingData.width||0,minWidth:t.columnResizingData.minWidth||0,maxWidth:t.columnResizingData.maxWidth||Number.MAX_VALUE,visible:!!t.isColumnResizing,leftOffset:t.columnResizingData.left||0,knobHeight:t.headerHeight,initialEvent:t.columnResizingData.initialEvent,onColumnResizeEnd:o.onColumnResizeEndCallback,columnKey:t.columnResizingData.key}),x=null;t.footerHeight&&(x=n.createElement(h,{key:"footer",isScrolling:this._isScrolling,className:w(p("fixedDataTableLayout/footer"),p("public/fixedDataTable/footer")),width:t.width,height:t.footerHeight,index:-1,zIndex:1,offsetTop:_,fixedColumns:t.footFixedColumns,scrollableColumns:t.footScrollableColumns,scrollLeft:t.scrollX}));var T,S,D=this._renderRows(d),M=n.createElement(h,{key:"header",isScrolling:this._isScrolling,className:w(p("fixedDataTableLayout/header"),p("public/fixedDataTable/header")),width:t.width,height:t.headerHeight,index:-1,zIndex:1,offsetTop:f,scrollLeft:t.scrollX,fixedColumns:t.headFixedColumns,scrollableColumns:t.headScrollableColumns,onColumnResize:this._onColumnResize});return t.scrollY&&(T=n.createElement("div",{className:w(p("fixedDataTableLayout/topShadow"),p("public/fixedDataTable/topShadow")),style:{top:d}})),(null!=t.ownerHeight&&t.ownerHeight<t.height&&t.scrollContentHeight+t.reservedHeight>t.ownerHeight||t.scrollY<i)&&(S=n.createElement("div",{className:w(p("fixedDataTableLayout/bottomShadow"),p("public/fixedDataTable/bottomShadow")),style:{top:_}})),n.createElement("div",{className:w(p("fixedDataTableLayout/main"),p("public/fixedDataTable/main")),onWheel:this._wheelHandler.onWheel,style:{height:t.height,width:t.width}},n.createElement("div",{className:p("fixedDataTableLayout/rowsContainer"),style:{height:g,width:t.width}},C,e,M,D,x,T,S),v,b)},_renderRows:function(e){var t=this.state;return n.createElement(l,{isScrolling:this._isScrolling,defaultRowHeight:t.rowHeight,firstRowIndex:t.firstRowIndex,firstRowOffset:t.firstRowOffset,fixedColumns:t.bodyFixedColumns,height:t.bodyHeight,offsetTop:e,onRowClick:t.onRowClick,onRowDoubleClick:t.onRowDoubleClick,onRowMouseDown:t.onRowMouseDown,onRowMouseEnter:t.onRowMouseEnter,onRowMouseLeave:t.onRowMouseLeave,rowClassNameGetter:t.rowClassNameGetter,rowsCount:t.rowsCount,rowGetter:t.rowGetter,rowHeightGetter:t.rowHeightGetter,scrollLeft:t.scrollX,scrollableColumns:t.bodyScrollableColumns,showLastRowBorder:!0,width:t.width,rowPositionGetter:this._scrollHelper.getRowPosition})},_onColumnResize:function(e,t,o,i,n,r,s){this.setState({isColumnResizing:!0,columnResizingData:{left:t+e-o,width:o,minWidth:i,maxWidth:n,initialEvent:{clientX:s.clientX,clientY:s.clientY,preventDefault:m},key:r}})},_areColumnSettingsIdentical:function(e,t){if(e.length!==t.length)return!1;for(var o=0;o<e.length;++o)if(!g(e[o].props,t[o].props))return!1;return!0},_populateColumnsAndColumnData:function(e,t,o){var i=!1,n=!1;o&&o.columns&&(i=this._areColumnSettingsIdentical(e,o.columns)),o&&o.columnGroups&&t&&(n=this._areColumnSettingsIdentical(t,o.columnGroups));var r={};if(i)r.bodyFixedColumns=o.bodyFixedColumns,r.bodyScrollableColumns=o.bodyScrollableColumns,r.headFixedColumns=o.headFixedColumns,r.headScrollableColumns=o.headScrollableColumns,r.footFixedColumns=o.footFixedColumns,r.footScrollableColumns=o.footScrollableColumns;else{var s=this._splitColumnTypes(e);r.bodyFixedColumns=s.fixed,r.bodyScrollableColumns=s.scrollable;var a=this._splitColumnTypes(this._selectColumnElement(x,e));r.headFixedColumns=a.fixed,r.headScrollableColumns=a.scrollable;var l=this._splitColumnTypes(this._selectColumnElement(T,e));r.footFixedColumns=l.fixed,r.footScrollableColumns=l.scrollable}if(n)r.groupHeaderFixedColumns=o.groupHeaderFixedColumns,r.groupHeaderScrollableColumns=o.groupHeaderScrollableColumns;else if(t){var u=this._splitColumnTypes(this._selectColumnElement(x,t));r.groupHeaderFixedColumns=u.fixed,r.groupHeaderScrollableColumns=u.scrollable}return r},_calculateState:function(e,t){_(void 0!==e.height||void 0!==e.maxHeight,"You must set either a height or a maxHeight");var o=[];y.forEach(e.children,function(e,t){null!=e&&(_(e.type.__TableColumnGroup__||e.type.__TableColumn__,"child type should be <FixedDataTableColumn /> or <FixedDataTableColumnGroup />"),o.push(e))});var n=!1;o.length&&o[0].type.__TableColumnGroup__&&(n=!0);var r,s,l=t&&t.firstRowIndex||0,u=t&&t.firstRowOffset||0;r=t&&"hidden"!==e.overflowX?t.scrollX:e.scrollLeft,t&&"hidden"!==e.overflowY?s=t.scrollY:(d=this._scrollHelper.scrollTo(e.scrollTop),l=d.index,u=d.offset,s=d.position),void 0!==this._rowToScrollTo&&(d=this._scrollHelper.scrollRowIntoView(this._rowToScrollTo),l=d.index,u=d.offset,s=d.position,delete this._rowToScrollTo);var h=n?e.groupHeaderHeight:0;if(t&&e.rowsCount!==t.rowsCount){var p=(void 0===e.height?e.maxHeight:e.height)-(e.headerHeight||0)-(e.footerHeight||0)-(e.groupHeaderHeight||0);this._scrollHelper=new c(e.rowsCount,e.rowHeight,p,e.rowHeightGetter);var d=this._scrollHelper.scrollToRow(l,u);l=d.index,u=d.offset,s=d.position}else t&&e.rowHeightGetter!==t.rowHeightGetter&&this._scrollHelper.setRowHeightGetter(e.rowHeightGetter);var m;m=e.isColumnResizing?t&&t.columnResizingData:C;var w,g;if(n){var v=f.adjustColumnGroupWidths(o,e.width);w=v.columns,g=v.columnGroups}else w=f.adjustColumnWidths(o,e.width);var b=this._populateColumnsAndColumnData(w,g,t);if(void 0!==this._columnToScrollTo){var x=b.bodyFixedColumns.length;if(this._columnToScrollTo>=x){var T,S,D=0;for(T=0;T<b.bodyFixedColumns.length;++T)S=b.bodyFixedColumns[T],D+=S.props.width;var H=Math.min(this._columnToScrollTo-x,b.bodyScrollableColumns.length-1),M=0;for(T=0;H>T;++T)S=b.bodyScrollableColumns[T],M+=S.props.width;var E=e.width-D,z=b.bodyScrollableColumns[H].props.width,k=M+z-E;k>r&&(r=k),r>M&&(r=M)}delete this._columnToScrollTo}var O=void 0===e.height,P=Math.round(O?e.maxHeight:e.height),N=e.footerHeight+e.headerHeight+h+2*R,I=P-N,G=this._scrollHelper.getContentHeight(),L=G+N,F=f.getTotalWidth(w),W=F>e.width&&"hidden"!==e.overflowX;W&&(I-=a.SIZE,L+=a.SIZE,N+=a.SIZE);var A=Math.max(0,F-e.width),V=Math.max(0,G-I);r=Math.min(r,A),s=Math.min(s,V),V||(O&&(P=L),I=L-N),this._scrollHelper.setViewportHeight(I);var q=i({isColumnResizing:t&&t.isColumnResizing},b,e,{columns:w,columnGroups:g,columnResizingData:m,firstRowIndex:l,firstRowOffset:u,horizontalScrollbarVisible:W,maxScrollX:A,maxScrollY:V,reservedHeight:N,scrollContentHeight:G,scrollX:r,scrollY:s,bodyHeight:I,height:P,groupHeaderHeight:h,useGroupHeader:n});return q},_selectColumnElement:function(e,t){for(var o=[],i=0;i<t.length;++i){var r=t[i];o.push(n.cloneElement(r,{cell:e?r.props[e]:r.props[S]}))}return o},_splitColumnTypes:function(e){for(var t=[],o=[],i=0;i<e.length;++i)e[i].props.fixed?t.push(e[i]):o.push(e[i]);return{fixed:t,scrollable:o}},_onWheel:function(e,t){if(this.isMounted()){this._isScrolling||this._didScrollStart();var o=this.state.scrollX;if(Math.abs(t)>Math.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 e&&"hidden"!==this.props.overflowX&&(o+=e,o=0>o?0:o,o=o>this.state.maxScrollX?this.state.maxScrollX:o,this.setState({scrollX:o}));this._didScrollStop()}},_onHorizontalScroll:function(e){this.isMounted()&&e!==this.state.scrollX&&(this._isScrolling||this._didScrollStart(),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))},_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))}}),H=n.createClass({displayName:"HorizontalScrollbar",mixins:[r],propTypes:{contentSize:b.number.isRequired,offset:b.number.isRequired,onScroll:b.func.isRequired,position:b.number.isRequired,size:b.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){var e={height:a.SIZE,width:this.props.size},t={height:a.SIZE,position:"absolute",overflow:"hidden",width:this.props.size};return v(t,0,this.props.offset,this._initialRender),n.createElement("div",{className:w(p("fixedDataTableLayout/horizontalScrollbar"),p("public/fixedDataTable/horizontalScrollbar")),style:e},n.createElement("div",{style:t},n.createElement(a,i({},this.props,{isOpaque:!0,orientation:"horizontal",offset:void 0}))))}});e.exports=D},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,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var n=function(){function e(e,t){for(var o=0;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),r=o(32),s=o(33),a=o(37),l=function(){function e(t,o,n,s){i(this,e),this._animationFrameID=null,this._deltaX=0,this._deltaY=0,this._didWheel=this._didWheel.bind(this),"function"!=typeof o&&(o=o?r.thatReturnsTrue:r.thatReturnsFalse),"function"!=typeof n&&(n=n?r.thatReturnsTrue:r.thatReturnsFalse),"function"!=typeof s&&(s=s?r.thatReturnsTrue:r.thatReturnsFalse),this._handleScrollX=o,this._handleScrollY=n,this._stopPropagation=s,this._onWheelCallback=t,this.onWheel=this.onWheel.bind(this)}return n(e,[{key:"onWheel",value:function(e){var t=s(e),o=this._deltaX+t.pixelX,i=this._deltaY+t.pixelY,n=this._handleScrollX(o,i),r=this._handleScrollY(i,o);if(n||r){this._deltaX+=n?t.pixelX:0,this._deltaY+=r?t.pixelY:0,e.preventDefault();var l;(0!==this._deltaX||0!==this._deltaY)&&(this._stopPropagation()&&e.stopPropagation(),l=!0),l===!0&&null===this._animationFrameID&&(this._animationFrameID=a(this._didWheel))}}},{key:"_didWheel",value:function(){this._animationFrameID=null,this._onWheelCallback(this._deltaX,this._deltaY),this._deltaX=0,this._deltaY=0}}]),e}();e.exports=l},function(e,t){"use strict";function o(e){return function(){return e}}function i(){}i.thatReturns=o,i.thatReturnsFalse=o(!1),i.thatReturnsTrue=o(!0),i.thatReturnsNull=o(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},e.exports=i},function(e,t,o){"use strict";function i(e){var t=0,o=0,i=0,n=0;return"detail"in e&&(o=e.detail),"wheelDelta"in e&&(o=-e.wheelDelta/120),"wheelDeltaY"in e&&(o=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=o,o=0),i=t*s,n=o*s,"deltaY"in e&&(n=e.deltaY),"deltaX"in e&&(i=e.deltaX),(i||n)&&e.deltaMode&&(1==e.deltaMode?(i*=a,n*=a):(i*=l,n*=l)),i&&!t&&(t=1>i?-1:1),n&&!o&&(o=1>n?-1:1),{spinX:t,spinY:o,pixelX:i,pixelY:n}}var n=o(34),r=o(35),s=10,a=40,l=800;i.getEventType=function(){return n.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=i},function(e,t){"use strict";function o(){if(!g){g=!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(d=/\b(iPhone|iP[ao]d)/.exec(e),m=/\b(iP[ao]d)/.exec(e),f=/Android/i.exec(e),_=/FBAN\/\w+;/i.exec(e),w=/Mobile/i.exec(e),p=!!/Win64/.exec(e),t){i=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,i&&document&&document.documentMode&&(i=document.documentMode);var v=/(?:Trident\/(\d+.\d+))/.exec(e);l=v?parseFloat(v[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),a=t&&t[1]?parseFloat(t[1]):NaN):a=NaN}else i=n=r=a=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,a,l,u,h,c,f,p,d,m,_,w,g=!1,v={ie:function(){return o()||i},ieCompatibilityMode:function(){return o()||l>i},ie64:function(){return v.ie()&&p},firefox:function(){return o()||n},opera:function(){return o()||r},webkit:function(){return o()||s},safari:function(){return v.webkit()},chrome:function(){return o()||a},windows:function(){return o()||h},osx:function(){return o()||u},linux:function(){return o()||c},iphone:function(){return o()||d},mobile:function(){return o()||d||m||f||w},nativeApp:function(){return o()||_},android:function(){return o()||f},ipad:function(){return o()||m}};e.exports=v},function(e,t,o){"use strict";function i(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,i=o in document;if(!i){var s=document.createElement("div");s.setAttribute(o,"return;"),i="function"==typeof s[o]}return!i&&n&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}var n,r=o(36);r.canUseDOM&&(n=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=i},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";var i=o(32),n=o(38),r=0,s=n||function(e){var o=Date.now(),i=Math.max(0,16-(o-r));return r=o+i,t.setTimeout(function(){e(Date.now())},i)};s(i),e.exports=s}).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";var i=o(40),n=o(43),r=o(27),s=o(44),a=o(30),l=o(31),u=o(46),h=o(47),c=o(32),f=o(48),p=r.PropTypes,d={position:0,scrollable:!1},m=parseInt(u("scrollbar-face-margin"),10),_=2*m,w=30,g=40,v=null,b=r.createClass({displayName:"Scrollbar",mixins:[a],propTypes:{contentSize:p.number.isRequired,defaultPosition:p.number,isOpaque:p.bool,orientation:p.oneOf(["vertical","horizontal"]),onScroll:p.func,position:p.number,size:p.number.isRequired,trackColor:p.oneOf(["gray"]),zIndex:p.number,verticalTop:p.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:c,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,s=this.state.focused||this.state.isDragging,a=this.state.faceSize,l=this.props.isOpaque,c=this.props.verticalTop||0,p=h({"ScrollbarLayout/main":!0,"ScrollbarLayout/mainVertical":n,"ScrollbarLayout/mainHorizontal":i,"public/Scrollbar/main":!0,"public/Scrollbar/mainOpaque":l,"public/Scrollbar/mainActive":s}),d=h({"ScrollbarLayout/face":!0,"ScrollbarLayout/faceHorizontal":i,"ScrollbarLayout/faceVertical":n,"public/Scrollbar/faceActive":s,"public/Scrollbar/face":!0}),w=this.state.position*this.state.scale+m;return i?(e={width:o},t={width:a-_},f(t,w,0,this._initialRender)):(e={top:c,height:o},t={height:a-_},f(t,0,w,this._initialRender)),e.zIndex=this.props.zIndex,"gray"===this.props.trackColor&&(e.backgroundColor=u("fbui-desktop-background-light")),r.createElement("div",{onFocus:this._onFocus,onBlur:this._onBlur,onKeyDown:this._onKeyDown,onMouseDown:this._onMouseDown,onWheel:this._wheelHandler.onWheel,className:p,style:e,tabIndex:0},r.createElement("div",{ref:"face",className:d,style:t}))},componentWillMount:function(){var e="horizontal"===this.props.orientation,t=e?this._onWheelX:this._onWheelY;this._wheelHandler=new l(t,this._shouldHandleX,this._shouldHandleY),this._initialRender=!0},componentDidMount:function(){this._mouseMoveTracker=new i(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(),v===this&&(v=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 d;var n=e+"_"+t+"_"+o+"_"+i;if(this._stateKey===n)return this._stateForKey;var r="horizontal"===i,s=t/o,a=t*s;w>a&&(s=(t-w)/(o-t),a=w);var l=!0,u=o-t;0>e?e=0:e>u&&(e=u);var h=this._mouseMoveTracker?this._mouseMoveTracker.isDragging():!1,c={faceSize:a,isDragging:h,isHorizontal:r,position:e,scale:s,scrollable:l};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!==s.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),s.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!==n.TAB){var o=g,i=0;if(this.state.isHorizontal)switch(t){case n.HOME:i=-1,o=this.props.contentSize;break;case n.LEFT:i=-1;break;case n.RIGHT:i=1;break;default:return}if(!this.state.isHorizontal)switch(t){case n.SPACE:i=e.shiftKey?-1:1;break;case n.HOME:i=-1,o=this.props.contentSize;break;case n.UP:i=-1;break;case n.DOWN:i=1;break;case n.PAGE_UP:i=-1,o=this.props.size;break;case n.PAGE_DOWN:i=1,o=this.props.size;break;default:return}e.preventDefault();var r=this.props;this._setNextState(this._calculateState(this.state.position+o*i,r.size,r.contentSize,r.orientation))}},_onFocus:function(){this.setState({focused:!0})},_onBlur:function(){this.setState({focused:!1})},_blur:function(){if(this.isMounted())try{this._onBlur(),s.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&&v!==this&&(v&&v._blur(),v=this)},_didScroll:function(){this.props.onScroll(this.state.position)}});b.KEYBOARD_SCROLL_AMOUNT=g,b.SIZE=parseInt(u("scrollbar-size"),10),e.exports=b},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var n=function(){function e(e,t){for(var o=0;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),r=o(41),s=o(42),a=o(37),l=function(){function e(t,o,n){i(this,e),this._isDragging=!1,this._animationFrameID=null,this._domNode=n,this._onMove=t,this._onMoveEnd=o,this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this._didMouseMove=this._didMouseMove.bind(this)}return n(e,[{key:"captureMouseMoves",value:function(e){this._eventMoveToken||this._eventUpToken||(this._eventMoveToken=r.listen(this._domNode,"mousemove",this._onMouseMove),this._eventUpToken=r.listen(this._domNode,"mouseup",this._onMouseUp)),this._isDragging||(this._deltaX=0,this._deltaY=0,this._isDragging=!0,this._x=e.clientX,this._y=e.clientY),e.preventDefault()}},{key:"releaseMouseMoves",value:function(){this._eventMoveToken&&this._eventUpToken&&(this._eventMoveToken.remove(),this._eventMoveToken=null,this._eventUpToken.remove(),this._eventUpToken=null),null!==this._animationFrameID&&(s(this._animationFrameID),this._animationFrameID=null),this._isDragging&&(this._isDragging=!1,this._x=null,this._y=null)}},{key:"isDragging",value:function(){return this._isDragging}},{key:"_onMouseMove",value:function(e){var t=e.clientX,o=e.clientY;
  this._deltaX+=t-this._x,this._deltaY+=o-this._y,null===this._animationFrameID&&(this._animationFrameID=a(this._didMouseMove)),this._x=t,this._y=o,e.preventDefault()}},{key:"_didMouseMove",value:function(){this._animationFrameID=null,this._onMove(this._deltaX,this._deltaY),this._deltaX=0,this._deltaY=0}},{key:"_onMouseUp",value:function(){this._animationFrameID&&this._didMouseMove(),this._onMoveEnd()}}]),e}();e.exports=l},function(e,t,o){"use strict";var i=o(32),n={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})},registerDefault:function(){}};e.exports=n},function(e,t){(function(t){"use strict";var o=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||t.clearTimeout;e.exports=o}).call(t,function(){return this}())},function(e,t){"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(45)},function(e,o){e.exports=t},function(e,t){"use strict";function o(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":"rgba(255, 255, 255, 0.8)","fbui-white":"#fff","fbui-desktop-background-light":"#f6f7f8"};o.CSS_VARS=i,e.exports=o},function(e,t){"use strict";function o(e){return s[e]?s[e]:(s[e]=e.replace(r,"_"),s[e])}function i(e){var t;return t="object"==("undefined"==typeof e?"undefined":n(e))?Object.keys(e).filter(function(t){return e[t]}):Array.prototype.slice.call(arguments),t.map(o).join(" ")}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=/\//g,s={};e.exports=i},function(e,t,o){"use strict";function i(e,t,o){var i=arguments.length<=3||void 0===arguments[3]?!1:arguments[3];i?(e.left=t+"px",e.top=o+"px"):n(e,t,o)}var n=o(49);e.exports=i},function(e,t,o){(function(t){"use strict";var i=o(50),n=o(51),r=n("transform"),s=n("backfaceVisibility"),a=function(){if(i.hasCSSTransforms()){var e=t.window?t.window.navigator.userAgent:"UNKNOWN",o=/Safari\//.test(e)&&!/Chrome\//.test(e);return!o&&i.hasCSS3DTransforms()?function(e,t,o){e[r]="translate3d("+t+"px,"+o+"px,0)",e[s]="hidden"}:function(e,t,o){e[r]="translate("+t+"px,"+o+"px)"}}return function(e,t,o){e.left=t+"px",e.top=o+"px"}}();e.exports=a}).call(t,function(){return this}())},function(e,t,o){"use strict";var i=o(51),n={hasCSSAnimations:function(){return!!i("animationName")},hasCSSTransforms:function(){return!!i("transform")},hasCSS3DTransforms:function(){return!!i("perspective")},hasCSSTransitions:function(){return!!i("transition")}};e.exports=n},function(e,t,o){"use strict";function i(e){for(var t=0;t<u.length;t++){var o=u[t]+e;if(o in c)return o}return null}function n(e){var t=s(e);if(void 0===l[t]){var o=t.charAt(0).toUpperCase()+t.slice(1);h.test(o)&&a(!1,"getVendorPrefixedName must only be called with unprefixedCSS property names. It was called with %s",e),l[t]=t in c?t:i(o)}return l[t]}var r=o(36),s=o(52),a=o(53),l={},u=["Webkit","ms","Moz","O"],h=new RegExp("^("+u.join("|")+")"),c=r.canUseDOM?document.createElement("div").style:{};e.exports=n},function(e,t){"use strict";function o(e){return e.replace(i,function(e,t){return t.toUpperCase()})}var i=/-(.)/g;e.exports=o},function(e,t,o){"use strict";var i=function(e,t,o,i,n,r,s,a){if(void 0===t)throw new Error("invariant requires an error message argument");if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[o,i,n,r,s,a],h=0;l=new Error("Invariant Violation: "+t.replace(/%s/g,function(){return u[h++]}))}throw l.framesToPop=1,l}};e.exports=i},function(e,t,o){"use strict";var i=o(27),n=o(55),r=o(59),s=o(47),a=o(32),l=o(67),u=o(48),h=i.PropTypes,c=i.createClass({displayName:"FixedDataTableBufferedRows",propTypes:{isScrolling:h.bool,defaultRowHeight:h.number.isRequired,firstRowIndex:h.number.isRequired,firstRowOffset:h.number.isRequired,fixedColumns:h.array.isRequired,height:h.number.isRequired,offsetTop:h.number.isRequired,onRowClick:h.func,onRowDoubleClick:h.func,onRowMouseDown:h.func,onRowMouseEnter:h.func,onRowMouseLeave:h.func,rowClassNameGetter:h.func,rowsCount:h.number.isRequired,rowHeightGetter:h.func,rowPositionGetter:h.func.isRequired,scrollLeft:h.number.isRequired,scrollableColumns:h.array.isRequired,showLastRowBorder:h.bool,width:h.number.isRequired},getInitialState:function(){return this._rowBuffer=new n(this.props.rowsCount,this.props.defaultRowHeight,this.props.height,this._getRowHeight),{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 n(e.rowsCount,e.defaultRowHeight,e.height,this._getRowHeight)),this.props.isScrolling&&!e.isScrolling?this._updateBuffer():this.setState({rowsToRender:this._rowBuffer.getRows(e.firstRowIndex,e.firstRowOffset)})},_updateBuffer:function(){this.isMounted()&&this.setState({rowsToRender:this._rowBuffer.getRowsWithUpdatedBuffer()})},shouldComponentUpdate:function(){return!0},componentWillUnmount:function(){this._staticRowArray.length=0},render:function(){var e=this.props,t=e.rowClassNameGetter||a,o=e.rowPositionGetter,n=this.state.rowsToRender;this._staticRowArray.length=n.length;for(var h=0;h<n.length;++h){var c=n[h],f=this._getRowHeight(c),p=o(c),d=c===e.rowsCount-1&&e.showLastRowBorder;this._staticRowArray[h]=i.createElement(r,{key:h,isScrolling:e.isScrolling,index:c,width:e.width,height:f,scrollLeft:Math.round(e.scrollLeft),offsetTop:Math.round(p),fixedColumns:e.fixedColumns,scrollableColumns:e.scrollableColumns,onClick:e.onRowClick,onDoubleClick:e.onRowDoubleClick,onMouseDown:e.onRowMouseDown,onMouseEnter:e.onRowMouseEnter,onMouseLeave:e.onRowMouseLeave,className:l(t(c),s("public/fixedDataTable/bodyRow"),s({"fixedDataTableLayout/hasBottomBorder":d,"public/fixedDataTable/hasBottomBorder":d}))})}var m=e.rowPositionGetter(e.firstRowIndex),_={position:"absolute",pointerEvents:e.isScrolling?"none":"auto"};return u(_,0,e.firstRowOffset-m+e.offsetTop,this._initialRender),i.createElement("div",{style:_},this._staticRowArray)},_getRowHeight:function(e){return this.props.rowHeightGetter?this.props.rowHeightGetter(e):this.props.defaultRowHeight}});e.exports=c},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var n=function(){function e(e,t){for(var o=0;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),r=o(56),s=o(58),a=o(53),l=3,u=6,h=function(){function e(t,o,n,h){i(this,e),a(0!==o,"defaultRowHeight musn't be equal 0 in FixedDataTableRowBuffer"),this._bufferSet=new r,this._defaultRowHeight=o,this._viewportRowsBegin=0,this._viewportRowsEnd=0,this._maxVisibleRowCount=Math.ceil(n/o)+1,this._bufferRowsCount=s(Math.floor(this._maxVisibleRowCount/2),l,u),this._rowsCount=t,this._rowHeightGetter=h,this._rows=[],this._viewportHeight=n,this.getRows=this.getRows.bind(this),this.getRowsWithUpdatedBuffer=this.getRowsWithUpdatedBuffer.bind(this)}return n(e,[{key:"getRowsWithUpdatedBuffer",value:function(){for(var e=2*this._bufferRowsCount,t=Math.max(this._viewportRowsBegin-this._bufferRowsCount,0);t<this._viewportRowsBegin;)this._addRowToBuffer(t,this._viewportRowsBegin,this._viewportRowsEnd-1),t++,e--;for(t=this._viewportRowsEnd;t<this._rowsCount&&e>0;)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<this._viewportHeight&&n<this._rowsCount;)this._addRowToBuffer(n,e,r-1),i+=this._rowHeightGetter(n),++n,this._viewportRowsEnd=n;return this._rows}},{key:"_addRowToBuffer",value:function(e,t,o){var i=this._bufferSet.getValuePosition(e),n=o-t+1,r=n+2*this._bufferRowsCount;null===i&&this._bufferSet.getSize()>=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=h},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var n=function(){function e(e,t){for(var o=0;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),r=o(57),s=o(53),a=function(){function e(){i(this,e),this._valueToPositionMap={},this._size=0,this._smallValues=new r([],this._smallerComparator),this._largeValues=new r([],this._greaterComparator),this.getNewPositionForValue=this.getNewPositionForValue.bind(this),this.getValuePosition=this.getValuePosition.bind(this),this.getSize=this.getSize.bind(this),this.replaceFurthestValuePosition=this.replaceFurthestValuePosition.bind(this)}return n(e,[{key:"getSize",value:function(){return this._size}},{key:"getValuePosition",value:function(e){return void 0===this._valueToPositionMap[e]?null:this._valueToPositionMap[e]}},{key:"getNewPositionForValue",value:function(e){s(void 0===this._valueToPositionMap[e],"Shouldn't try to find new position for value already stored in BufferSet");var t=this._size;return this._size++,this._pushToHeaps(t,e),this._valueToPositionMap[e]=t,t}},{key:"replaceFurthestValuePosition",value:function(e,t,o){if(s(void 0===this._valueToPositionMap[o],"Shouldn't try to replace values with value already stored value in BufferSet"),this._cleanHeaps(),this._smallValues.empty()||this._largeValues.empty())return null;var i=this._smallValues.peek().value,n=this._largeValues.peek().value;if(i>=e&&t>=n)return null;var r;e-i>n-t?(r=i,this._smallValues.pop()):(r=n,this._largeValues.pop());var a=this._valueToPositionMap[r];return delete this._valueToPositionMap[r],this._valueToPositionMap[o]=a,this._pushToHeaps(a,o),a}},{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()<this._largeValues.size()?this._smallValues:this._largeValues,t=new r([],this._smallerComparator),o=new r([],this._greaterComparator);!e.empty();){var i=e.pop();void 0!==this._valueToPositionMap[i.value]&&(t.push(i),o.push(i))}this._smallValues=t,this._largeValues=o}},{key:"_cleanHeap",value:function(e){for(;!e.empty()&&void 0===this._valueToPositionMap[e.peek().value];)e.pop()}},{key:"_smallerComparator",value:function(e,t){return e.value<t.value}},{key:"_greaterComparator",value:function(e,t){return e.value>t.value}}]),e}();e.exports=a},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;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),r=function(){function e(t,n){o(this,e),this._items=t||[],this._size=this._items.length,this._comparator=n||i,this._heapify()}return n(e,[{key:"empty",value:function(){return 0===this._size}},{key:"pop",value:function(){if(0!==this._size){var e=this._items[0],t=this._items.pop();return this._size--,this._size>0&&(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(o<this._size){var r=this._items[o];this._comparator(r,t)&&(n=o)}if(i<this._size){var s=this._items[i];this._comparator(s,t)&&(-1===n||this._comparator(s,this._items[n]))&&(n=i)}if(-1===n)return;this._items[e]=this._items[n],this._items[n]=t,e=n}}}]),e}();e.exports=r},function(e,t){"use strict";function o(e,t,o){return t>e?t:e>o?o:e}e.exports=o},function(e,t,o){"use strict";var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},n=o(27),r=o(60),s=o(47),a=o(67),l=o(48),u=n.PropTypes,h=n.createClass({displayName:"FixedDataTableRowImpl",propTypes:{isScrolling:u.bool,fixedColumns:u.array.isRequired,height:u.number.isRequired,index:u.number.isRequired,scrollableColumns:u.array.isRequired,scrollLeft:u.number.isRequired,width:u.number.isRequired,onClick:u.func,onDoubleClick:u.func,onColumnResize:u.func},render:function(){var e={width:this.props.width,height:this.props.height},t=s({"fixedDataTableRowLayout/main":!0,"public/fixedDataTableRow/main":!0,"public/fixedDataTableRow/highlighted":this.props.index%2===1,"public/fixedDataTableRow/odd":this.props.index%2===1,"public/fixedDataTableRow/even":this.props.index%2===0}),o=this._getColumnsWidth(this.props.fixedColumns),i=n.createElement(r,{key:"fixed_cells",isScrolling:this.props.isScrolling,height:this.props.height,left:0,width:o,zIndex:2,columns:this.props.fixedColumns,onColumnResize:this.props.onColumnResize,rowHeight:this.props.height,rowIndex:this.props.index}),l=this._renderColumnsShadow(o),u=n.createElement(r,{key:"scrollable_cells",isScrolling:this.props.isScrolling,height:this.props.height,left:this.props.scrollLeft,offsetLeft:o,width:this.props.width-o,zIndex:0,columns:this.props.scrollableColumns,onColumnResize:this.props.onColumnResize,rowHeight:this.props.height,rowIndex:this.props.index});return n.createElement("div",{className:a(t,this.props.className),onClick:this.props.onClick?this._onClick:null,onDoubleClick:this.props.onDoubleClick?this._onDoubleClick:null,onMouseDown:this.props.onMouseDown?this._onMouseDown:null,onMouseEnter:this.props.onMouseEnter?this._onMouseEnter:null,onMouseLeave:this.props.onMouseLeave?this._onMouseLeave:null,style:e},n.createElement("div",{className:s("fixedDataTableRowLayout/body")},i,u,l))},_getColumnsWidth:function(e){for(var t=0,o=0;o<e.length;++o)t+=e[o].props.width;return t},_renderColumnsShadow:function(e){if(e>0){var t=s({"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 n.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)}}),c=n.createClass({displayName:"FixedDataTableRow",propTypes:{isScrolling:u.bool,height:u.number.isRequired,zIndex:u.number,offsetTop:u.number.isRequired,width:u.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 l(e,0,this.props.offsetTop,this._initialRender),n.createElement("div",{style:e,className:s("fixedDataTableRowLayout/rowWrapper")},n.createElement(h,i({},this.props,{offsetTop:void 0,zIndex:void 0})))}});e.exports=c},function(e,t,o){"use strict";function i(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 n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},r=o(61),s=o(27),a=o(65),l=o(47),u=o(48),h=s.PropTypes,c=r.DIR_SIGN,f=s.createClass({displayName:"FixedDataTableCellGroupImpl",propTypes_DISABLED_FOR_PERFORMANCE:{columns:h.array.isRequired,isScrolling:h.bool,left:h.number,onColumnResize:h.func,rowHeight:h.number.isRequired,rowIndex:h.number.isRequired,width:h.number.isRequired,zIndex:h.number.isRequired},componentWillMount:function(){this._initialRender=!0},componentDidMount:function(){this._initialRender=!1},render:function(){for(var e=this.props,t=e.columns,o=new Array(t.length),i=0,n=0,r=t.length;r>n;n++){var a=t[n].props;if(!a.allowCellsRecycling||i-e.left<=e.width&&i-e.left+a.width>=0){var h="cell_"+n;o[n]=this._renderCell(e.rowIndex,e.rowHeight,a,i,h)}i+=a.width}var f=this._getColumnsWidth(t),p={height:e.height,position:"absolute",width:f,zIndex:e.zIndex};return u(p,-1*c*e.left,0,this._initialRender),s.createElement("div",{className:l("fixedDataTableCellGroupLayout/cellGroup"),style:p},o)},_renderCell:function(e,t,o,i,n){var r=o.isResizable&&this.props.onColumnResize,l=r?this.props.onColumnResize:null,u=o.cellClassName;return s.createElement(a,{isScrolling:this.props.isScrolling,align:o.align,className:u,height:t,key:n,maxWidth:o.maxWidth,minWidth:o.minWidth,onColumnResize:l,rowIndex:e,columnKey:o.columnKey,width:o.width,left:i,cell:o.cell})},_getColumnsWidth:function(e){for(var t=0,o=0;o<e.length;++o)t+=e[o].props.width;return t}}),p=s.createClass({displayName:"FixedDataTableCellGroup",propTypes_DISABLED_FOR_PERFORMANCE:{isScrolling:h.bool,height:h.number.isRequired,offsetLeft:h.number,left:h.number,zIndex:h.number.isRequired},shouldComponentUpdate:function(e){return!e.isScrolling||this.props.rowIndex!==e.rowIndex||this.props.left!==e.left},getDefaultProps:function(){return{offsetLeft:0}},render:function(){var e=this.props,t=e.offsetLeft,o=i(e,["offsetLeft"]),r={height:o.height};1===c?r.left=t:r.right=t;var a=o.onColumnResize?this._onColumnResize:null;return s.createElement("div",{style:r,className:l("fixedDataTableCellGroupLayout/cellGroupWrapper")},s.createElement(f,n({},o,{onColumnResize:a})))},_onColumnResize:function(e,t,o,i,n,r){this.props.onColumnResize&&this.props.onColumnResize(this.props.offsetLeft,e-this.props.left+t,t,o,i,n,r)}});e.exports=p},function(e,t,o){"use strict";function i(e){return null===e||void 0===e?"":String(e)}function n(e,t){a.Children.forEach(e,function(e){e.type===l?n(e.props.children,t):e.type===u&&t(e)})}function r(e,t){var o=[];return a.Children.forEach(e,function(e){var i=e;if(e.type===l){var r=!1,s=[];n(e.props.children,function(e){var o=t(e);o!==e&&(r=!0),s.push(o)}),r&&(i=a.cloneElement(e,{children:s}))}else e.type===u&&(i=t(e));o.push(i)}),o}var s=o(62),a=o(27),l=o(63),u=o(64),h=s.isRTL()?-1:1,c=5,f={DIR_SIGN:h,CELL_VISIBILITY_TOLERANCE:c,renderToString:i,forEachColumn:n,mapColumns:r};e.exports=f},function(e,t){"use strict";var o={isRTL:function(){return!1},getDirection:function(){return"LTR"}};e.exports=o},function(e,t,o){"use strict";var i=o(27),n=i.createClass({displayName:"TransitionColumnGroup",statics:{__TableColumnGroup__:!0},render:function(){throw new Error("Component <TransitionColumnGroup /> should never render")}});e.exports=n},function(e,t,o){"use strict";var i=o(27),n=i.createClass({displayName:"TransitionColumn",statics:{__TableColumn__:!0},render:function(){throw new Error("Component <TransitionColumn /> should never render")}});e.exports=n},function(e,t,o){"use strict";function i(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 n=o(66),r=o(61),s=o(27),a=o(47),l=o(67),u=r.DIR_SIGN,h=s.PropTypes,c={align:"left",highlighted:!1},f=s.createClass({displayName:"FixedDataTableCell",propTypes_DISABLED_FOR_PERFORMANCE:{isScrolling:h.bool,align:h.oneOf(["left","center","right"]),className:h.string,highlighted:h.bool,width:h.number.isRequired,minWidth:h.number,maxWidth:h.number,height:h.number.isRequired,cell:h.oneOfType([h.string,h.element,h.func]),columnKey:h.oneOfType([h.string,h.number]),rowIndex:h.number.isRequired,onColumnResize:h.func,left:h.number},shouldComponentUpdate:function(e){return!e.isScrolling||this.props.rowIndex!==e.rowIndex},getDefaultProps:function(){return c},render:function(){var e=this.props,t=e.height,o=e.width,r=e.columnKey,h=i(e,["height","width","columnKey"]),c={height:t,width:o};1===u?c.left=h.left:c.right=h.left;var f,p=l(a({"fixedDataTableCellLayout/main":!0,"fixedDataTableCellLayout/lastChild":h.lastChild,"fixedDataTableCellLayout/alignRight":"right"===h.align,"fixedDataTableCellLayout/alignCenter":"center"===h.align,"public/fixedDataTableCell/alignRight":"right"===h.align,"public/fixedDataTableCell/highlighted":h.highlighted,"public/fixedDataTableCell/main":!0}),h.className);if(h.onColumnResize){var d={height:t};f=s.createElement("div",{className:a("fixedDataTableCellLayout/columnResizerContainer"),style:d,onMouseDown:this._onColumnResizerMouseDown},s.createElement("div",{className:l(a("fixedDataTableCellLayout/columnResizerKnob"),a("public/fixedDataTableCell/columnResizerKnob")),style:d}))}var m={columnKey:r,height:t,width:o};h.rowIndex>=0&&(m.rowIndex=h.rowIndex);var _;return _=s.isValidElement(h.cell)?s.cloneElement(h.cell,m):"function"==typeof h.cell?h.cell(m):s.createElement(n,m,h.cell),s.createElement("div",{className:p,style:c},f,_)},_onColumnResizerMouseDown:function(e){this.props.onColumnResize(this.props.left,this.props.width,this.props.minWidth,this.props.maxWidth,this.props.columnKey,e)}});e.exports=f},function(e,t,o){"use strict";function i(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 n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},r=o(27),s=o(47),a=o(67),l=r.PropTypes,u=r.createClass({displayName:"FixedDataTableCellDefault",propTypes:{height:l.number,width:l.number,columnKey:l.oneOfType([l.string,l.number])},render:function(){var e=this.props,t=e.height,o=e.width,l=e.style,u=e.className,h=e.children,c=i(e,["height","width","style","className","children"]),f=n({height:t,width:o},l);return r.createElement("div",n({},c,{className:a(s("fixedDataTableCellLayout/wrap1"),s("public/fixedDataTableCell/wrap1"),u),style:f}),r.createElement("div",{className:a(s("fixedDataTableCellLayout/wrap2"),s("public/fixedDataTableCell/wrap2"))},r.createElement("div",{className:a(s("fixedDataTableCellLayout/wrap3"),s("public/fixedDataTableCell/wrap3"))},r.createElement("div",{className:s("public/fixedDataTableCell/cellContent")},h))))}});e.exports=u},function(e,t){"use strict";function o(e){e||(e="");var t,o=arguments.length;if(o>1)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";var i=o(40),n=o(62),r=o(27),s=o(30),a=o(58),l=o(47),u=r.PropTypes,h=r.createClass({displayName:"FixedDataTableColumnResizeHandle",mixins:[s],propTypes:{visible:u.bool.isRequired,height:u.number.isRequired,leftOffset:u.number.isRequired,knobHeight:u.number.isRequired,initialWidth:u.number,minWidth:u.number,maxWidth:u.number,initialEvent:u.object,onColumnResizeEnd:u.func,columnKey:u.oneOfType([u.string,u.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 i(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 n.isRTL()?e.right=this.props.leftOffset:e.left=this.props.leftOffset,r.createElement("div",{className:l({"fixedDataTableColumnResizerLineLayout/main":!0,"fixedDataTableColumnResizerLineLayout/hiddenElem":!this.props.visible,"public/fixedDataTableColumnResizerLine/main":!0}),style:e},r.createElement("div",{className:l("fixedDataTableColumnResizerLineLayout/mouseArea"),style:{height:this.props.height}}))},_onMove:function(e){n.isRTL()&&(e=-e);var t=this.state.cursorDelta+e,o=a(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=h},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var n=function(){function e(e,t){for(var o=0;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),r=o(70),s=o(58),a=5,l={index:0,offset:0,position:0,contentHeight:0},u=function(){function e(t,o,n,s){i(this,e),this._rowOffsets=r.uniform(t,o),this._storedHeights=new Array(t);for(var a=0;t>a;++a)this._storedHeights[a]=o;this._rowCount=t,this._position=0,this._contentHeight=t*o,this._defaultRowHeight=o,this._rowHeightGetter=s?s:function(){return o},this._viewportHeight=n,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 n(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<this._rowCount;)this._updateRowHeight(i),o+=this._storedHeights[i],i++}},{key:"_updateHeightsAboveViewport",value:function(e){for(var t=e-1;t>=0&&t>=e-a;){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 l;var t=this._rowOffsets.greatestLowerBound(this._position);t=s(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 a=this._storedHeights[i]-(n-o);if(e>=0)for(;e>0&&i<this._rowCount;)a>e?(n+=e,e=0):(e-=a,n+=a,i++),i<this._rowCount&&(this._updateRowHeight(i),a=this._storedHeights[i]);else if(0>e){e=-e;for(var u=this._storedHeights[i]-a;e>0&&i>=0;)if(u>e?(n-=e,e=0):(n-=u,e-=u,i--),i>=0){var h=this._updateRowHeight(i);u=this._storedHeights[i],n+=h}}var c=this._contentHeight-this._viewportHeight;n=s(n,0,c),this._position=n;var f=this._rowOffsets.greatestLowerBound(n);f=s(f,0,Math.max(this._rowCount-1,0)),o=this._rowOffsets.sumUntil(f);var p=o-n;return this._updateHeightsInViewport(f,p),this._updateHeightsAboveViewport(f),{index:f,offset:p,position:this._position,contentHeight:this._contentHeight}}},{key:"_getRowAtEndPosition",value:function(e){this._updateRowHeight(e);for(var t=e,o=this._storedHeights[t];o<this._viewportHeight&&t>=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 l;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=s(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=s(e,0,Math.max(this._rowCount-1,0)),t=s(t,-this._storedHeights[e],0);var o=this._rowOffsets.sumUntil(e);return this.scrollTo(o-t)}},{key:"scrollRowIntoView",value:function(e){e=s(e,0,Math.max(this._rowCount-1,0));var t=this._rowOffsets.sumUntil(e),o=t+this._storedHeights[e];if(t<this._position)return this.scrollTo(t);if(this._position+this._viewportHeight<o){var i=this._getRowAtEndPosition(e);return this.scrollTo(i)}return this.scrollTo(this._position)}}]),e}();e.exports=u},function(e,t,o){(function(t){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e){for(var t=1;e>t;)t*=2;return t}var r=function(){function e(e,t){for(var o=0;o<t.length;o++){var i=t[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,o,i){return o&&e(t.prototype,o),i&&e(t,i),t}}(),s=o(53),a=function(e){return Math.floor(e/2)},l=t.Int32Array||function(e){for(var t=[],o=e-1;o>=0;--o)t[o]=0;return t},u=function(){function e(t){i(this,e),this._size=t.length,this._half=n(this._size),this._heap=new l(2*this._half);var o;for(o=0;o<this._size;++o)this._heap[this._half+o]=t[o];for(o=this._half-1;o>0;--o)this._heap[o]=this._heap[2*o]+this._heap[2*o+1]}return r(e,[{key:"set",value:function(e,t){s(e>=0&&e<this._size,"Index out of range %s",e);var o=this._half+e;for(this._heap[o]=t,o=a(o);0!==o;o=a(o))this._heap[o]=this._heap[2*o]+this._heap[2*o+1]}},{key:"get",value:function(e){s(e>=0&&e<this._size,"Index out of range %s",e);var t=this._half+e;return this._heap[t]}},{key:"getSize",value:function(){return this._size}},{key:"sumUntil",value:function(e){if(s(e>=0&&e<this._size+1,"Index out of range %s",e),0===e)return 0;for(var t=this._half+e-1,o=this._heap[t];1!==t;t=a(t))t%2===1&&(o+=this._heap[t-1]);
  return o}},{key:"sumTo",value:function(e){return s(e>=0&&e<this._size,"Index out of range %s",e),this.sumUntil(e+1)}},{key:"sum",value:function(e,t){return s(t>=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(;t<this._half;){var o=this._heap[2*t];o>e?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)return this._size;for(;t<this._half;){var o=this._heap[2*t];o>=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=u}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(e){for(var t=0,o=0;o<e.length;++o)t+=e[o].props.width;return t}function n(e){for(var t=0,o=0;o<e.length;++o)t+=e[o].props.flexGrow||0;return t}function r(e,t){if(0>=t)return{columns:e,width:i(e)};for(var o=n(e),r=t,s=[],a=0,u=0;u<e.length;++u){var h=e[u];if(h.props.flexGrow){var c=Math.floor(h.props.flexGrow/o*r),f=Math.floor(h.props.width+c);a+=f,o-=h.props.flexGrow,r-=c,s.push(l.cloneElement(h,{width:f}))}else a+=h.props.width,s.push(h)}return{columns:s,width:a}}function s(e,t){var o,s=[];for(o=0;o<e.length;++o)l.Children.forEach(e[o].props.children,function(e){s.push(e)});var a=i(s),u=n(s),h=Math.max(t-a,0),c=[],f=[];for(o=0;o<e.length;++o){var p=e[o],d=[];l.Children.forEach(p.props.children,function(e){d.push(e)});var m=n(d),_=Math.floor(m/u*h),w=r(d,_);u-=m,h-=_;for(var g=0;g<w.columns.length;++g)c.push(w.columns[g]);f.push(l.cloneElement(p,{width:w.width}))}return{columns:c,columnGroups:f}}function a(e,t){var o=i(e);return t>o?r(e,t-o).columns:e}var l=o(27),u={getTotalWidth:i,getTotalFlexGrow:n,distributeFlexWidth:r,adjustColumnWidths:a,adjustColumnGroupWidths:s};e.exports=u},function(e,t){"use strict";function o(e,t,o,i,n){function r(){for(var n=arguments.length,a=Array(n),l=0;n>l;l++)a[l]=arguments[l];r.reset();var u=function(){e.apply(o,a)};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),a=0;a<o.length;a++)if(!s(o[a])||e[o[a]]!==t[o[a]])return!1;return!0}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},n=Object.prototype.hasOwnProperty;e.exports=o},function(e,t,o){"use strict";var i=o(27),n=i.PropTypes,r=i.createClass({displayName:"FixedDataTableColumn",statics:{__TableColumn__:!0},propTypes:{align:n.oneOf(["left","center","right"]),fixed:n.bool,header:n.oneOfType([n.node,n.func]),cell:n.oneOfType([n.node,n.func]),footer:n.oneOfType([n.node,n.func]),columnKey:n.oneOfType([n.string,n.number]),width:n.number.isRequired,minWidth:n.number,maxWidth:n.number,flexGrow:n.number,isResizable:n.bool,allowCellsRecycling:n.bool},getDefaultProps:function(){return{allowCellsRecycling:!1,fixed:!1}},render:function(){throw new Error("Component <FixedDataTableColumn /> should never render")}});e.exports=r},function(e,t,o){"use strict";var i=o(27),n=i.PropTypes,r=i.createClass({displayName:"FixedDataTableColumnGroup",statics:{__TableColumnGroup__:!0},propTypes:{align:n.oneOf(["left","center","right"]),fixed:n.bool,header:n.oneOfType([n.node,n.func])},getDefaultProps:function(){return{fixed:!1}},render:function(){throw new Error("Component <FixedDataTableColumnGroup /> should never render")}});e.exports=r},function(e,t,o){"use strict";var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},n=o(27),r=n.PropTypes,s=o(47),a=o(67),l=o(73),u=o(66),h=n.createClass({displayName:"TransitionCell",propTypes:{label:r.string,className:r.string,rowIndex:r.number,rowGetter:r.func,dataKey:r.oneOfType([r.string,r.number]),cellRenderer:r.func,cellDataGetter:r.func,footerDataGetter:r.func,footerData:r.any,columnData:r.any,width:r.number,height:r.number,isHeaderCell:r.bool,isFooterCell:r.bool},shouldComponentUpdate:function(e){var t,o=!1;e.rowGetter&&(t=e.rowGetter(e.rowIndex),this._rowData!==t&&(o=!0));var i;return null!=e.dataKey&&(e.cellDataGetter&&(i=e.cellDataGetter(e.dataKey,t)),!i&&t&&(i=t[e.dataKey])),this._cellData!==i&&(o=!0),this._rowData=t,this._cellData=i,o||!l(e,this.props)},_getCellData:function(e){var t=e.dataKey;if(null==t)return null;var o;return e.rowGetter&&(o=e.rowGetter(e.rowIndex)),e.cellDataGetter?e.cellDataGetter(t,o):o?o[t]:e.footerDataGetter?e.footerDataGetter()[t]:e.footerData?e.footerData[t]:e.headerDataGetter?e.headerDataGetter[t]:void 0},_getRowData:function(e){return e.rowGetter?e.rowGetter(e.rowIndex)||{}:e.footerDataGetter?e.footerDataGetter()||{}:e.footerData?e.footerData||{}:{}},render:function(){var e=this.props,t=this._getCellData(e),o=t,r=this._getRowData(e),l=!(!e.cellRenderer&&!e.groupHeaderRenderer);(e.isHeaderCell||e.isFooterCell)&&(o=o||e.label),e.cellRenderer&&(o=e.isHeaderCell||e.isFooterCell?e.cellRenderer(e.label,e.dataKey,e.columnData,r,e.width)||e.label:e.cellRenderer(t,e.dataKey,r,e.rowIndex,e.columnData,e.width)),e.groupHeaderRenderer&&(o=e.groupHeaderRenderer(e.label,e.dataKey,e.groupHeaderData,e.groupHeaderLabels,e.width)||o);var h=s("public/fixedDataTableCell/cellContent");if(!n.isValidElement(o)||!l)return n.createElement(u,e,o);o=n.cloneElement(o,{className:a(o.props.className,h)});var c=i({height:e.height,width:e.width},e.style);return n.createElement("div",i({},this.props,{className:a(s("fixedDataTableCellLayout/wrap1"),s("public/fixedDataTableCell/wrap1"),this.props.className),style:c}),n.createElement("div",{className:a(s("fixedDataTableCellLayout/wrap2"),s("public/fixedDataTableCell/wrap2"))},n.createElement("div",{className:a(s("fixedDataTableCellLayout/wrap3"),s("public/fixedDataTableCell/wrap3"))},o)))}});e.exports=h}])});