diff --git a/dist/fixed-data-table-base.css b/dist/fixed-data-table-base.css index 27524afe..292ba6d0 100644 --- a/dist/fixed-data-table-base.css +++ b/dist/fixed-data-table-base.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -9,6 +9,107 @@ * of patent rights can be found in the PATENTS file in the same directory. */ +/** + * 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. + * + * @providesModule ScrollbarLayout + */ + +.ScrollbarLayout_main { + box-sizing: border-box; + outline: none; + overflow: hidden; + position: absolute; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.ScrollbarLayout_mainVertical { + bottom: 0; + right: 0; + top: 0; + -webkit-transition-property: background-color width; + transition-property: background-color width; + width: 15px; +} + +.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive, +.ScrollbarLayout_mainVertical:hover { + width: 17px; +} + +.ScrollbarLayout_mainHorizontal { + bottom: 0; + height: 15px; + left: 0; + -webkit-transition-property: background-color height; + transition-property: background-color height; +} + +/* Touching the scroll-track directly makes the scroll-track bolder */ +.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive, +.ScrollbarLayout_mainHorizontal:hover { + height: 17px; +} + +.ScrollbarLayout_face { + left: 0; + overflow: hidden; + position: absolute; + z-index: 1; +} + +/** + * This selector renders the "nub" of the scrollface. The nub must + * be rendered as pseudo-element so that it won't receive any UI events then + * we can get the correct `event.offsetX` and `event.offsetY` from the + * scrollface element while dragging it. + */ +.ScrollbarLayout_face:after { + border-radius: 6px; + content: ''; + display: block; + position: absolute; + -webkit-transition: background-color 250ms ease; + transition: background-color 250ms ease; +} + +.ScrollbarLayout_faceHorizontal { + bottom: 0; + left: 0; + top: 0; +} + +.ScrollbarLayout_faceHorizontal:after { + bottom: 4px; + left: 0; + top: 4px; + width: 100%; +} + +.ScrollbarLayout_faceVertical { + left: 0; + right: 0; + top: 0; +} + +.ScrollbarLayout_faceVertical:after { + height: 100%; + left: 4px; + right: 4px; + top: 0; +} /** * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -240,104 +341,3 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { position: absolute; top: 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. - * - * @providesModule ScrollbarLayout - */ - -.ScrollbarLayout_main { - box-sizing: border-box; - outline: none; - overflow: hidden; - position: absolute; - -webkit-transition-duration: 250ms; - transition-duration: 250ms; - -webkit-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.ScrollbarLayout_mainVertical { - bottom: 0; - right: 0; - top: 0; - -webkit-transition-property: background-color width; - transition-property: background-color width; - width: 15px; -} - -.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive, -.ScrollbarLayout_mainVertical:hover { - width: 17px; -} - -.ScrollbarLayout_mainHorizontal { - bottom: 0; - height: 15px; - left: 0; - -webkit-transition-property: background-color height; - transition-property: background-color height; -} - -/* Touching the scroll-track directly makes the scroll-track bolder */ -.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive, -.ScrollbarLayout_mainHorizontal:hover { - height: 17px; -} - -.ScrollbarLayout_face { - left: 0; - overflow: hidden; - position: absolute; - z-index: 1; -} - -/** - * This selector renders the "nub" of the scrollface. The nub must - * be rendered as pseudo-element so that it won't receive any UI events then - * we can get the correct `event.offsetX` and `event.offsetY` from the - * scrollface element while dragging it. - */ -.ScrollbarLayout_face:after { - border-radius: 6px; - content: ''; - display: block; - position: absolute; - -webkit-transition: background-color 250ms ease; - transition: background-color 250ms ease; -} - -.ScrollbarLayout_faceHorizontal { - bottom: 0; - left: 0; - top: 0; -} - -.ScrollbarLayout_faceHorizontal:after { - bottom: 4px; - left: 0; - top: 4px; - width: 100%; -} - -.ScrollbarLayout_faceVertical { - left: 0; - right: 0; - top: 0; -} - -.ScrollbarLayout_faceVertical:after { - height: 100%; - left: 4px; - right: 4px; - top: 0; -} diff --git a/dist/fixed-data-table-base.min.css b/dist/fixed-data-table-base.min.css index cff038b3..342396eb 100644 --- a/dist/fixed-data-table-base.min.css +++ b/dist/fixed-data-table-base.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -9,4 +9,4 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -.fixedDataTableCellGroupLayout_cellGroup{-webkit-backface-visibility:hidden;backface-visibility:hidden;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.fixedDataTableCellGroupLayout_cellGroup>.public_fixedDataTableCell_main{display:inline-block;vertical-align:top;white-space:normal}.fixedDataTableCellGroupLayout_cellGroupWrapper{position:absolute;top:0}.fixedDataTableCellLayout_main{border-right-style:solid;border-width:0 1px 0 0;box-sizing:border-box;display:block;overflow:hidden;position:absolute;white-space:normal}.fixedDataTableCellLayout_lastChild{border-width:0 1px 1px 0}.fixedDataTableCellLayout_alignRight{text-align:right}.fixedDataTableCellLayout_alignCenter{text-align:center}.fixedDataTableCellLayout_wrap1{display:table}.fixedDataTableCellLayout_wrap2{display:table-row}.fixedDataTableCellLayout_wrap3{display:table-cell;vertical-align:middle}.fixedDataTableCellLayout_columnResizerContainer{position:absolute;right:0;width:6px;z-index:1}.fixedDataTableCellLayout_columnResizerContainer:hover{cursor:ew-resize}.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob{visibility:visible}.fixedDataTableCellLayout_columnResizerKnob{position:absolute;right:0;visibility:hidden;width:4px}.fixedDataTableColumnResizerLineLayout_mouseArea{cursor:ew-resize;position:absolute;right:-5px;width:12px}.fixedDataTableColumnResizerLineLayout_main{border-right-style:solid;border-right-width:1px;box-sizing:border-box;position:absolute;z-index:10}body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main,.fixedDataTableColumnResizerLineLayout_hiddenElem{display:none!important}.fixedDataTableLayout_main{border-style:solid;border-width:1px;box-sizing:border-box;overflow:hidden;position:relative}.fixedDataTableLayout_header,.fixedDataTableLayout_hasBottomBorder{border-bottom-style:solid;border-bottom-width:1px}.fixedDataTableLayout_footer .public_fixedDataTableCell_main{border-top-style:solid;border-top-width:1px}.fixedDataTableLayout_topShadow,.fixedDataTableLayout_bottomShadow{height:4px;left:0;position:absolute;right:0;z-index:1}.fixedDataTableLayout_bottomShadow{margin-top:-4px}.fixedDataTableLayout_rowsContainer{overflow:hidden;position:relative}.fixedDataTableLayout_horizontalScrollbar{bottom:0;position:absolute}.fixedDataTableRowLayout_main{box-sizing:border-box;overflow:hidden;position:absolute;top:0}.fixedDataTableRowLayout_body{left:0;position:absolute;top:0}.fixedDataTableRowLayout_fixedColumnsDivider{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-left-style:solid;border-left-width:1px;left:0;position:absolute;top:0;width:0}.fixedDataTableRowLayout_columnsShadow{width:4px}.fixedDataTableRowLayout_rowWrapper{position:absolute;top:0}.ScrollbarLayout_main{box-sizing:border-box;outline:none;overflow:hidden;position:absolute;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ScrollbarLayout_mainVertical{bottom:0;right:0;top:0;-webkit-transition-property:background-color width;transition-property:background-color width;width:15px}.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive,.ScrollbarLayout_mainVertical:hover{width:17px}.ScrollbarLayout_mainHorizontal{bottom:0;height:15px;left:0;-webkit-transition-property:background-color height;transition-property:background-color height}.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,.ScrollbarLayout_mainHorizontal:hover{height:17px}.ScrollbarLayout_face{left:0;overflow:hidden;position:absolute;z-index:1}.ScrollbarLayout_face:after{border-radius:6px;content:'';display:block;position:absolute;-webkit-transition:background-color 250ms ease;transition:background-color 250ms ease}.ScrollbarLayout_faceHorizontal{bottom:0;left:0;top:0}.ScrollbarLayout_faceHorizontal:after{bottom:4px;left:0;top:4px;width:100%}.ScrollbarLayout_faceVertical{left:0;right:0;top:0}.ScrollbarLayout_faceVertical:after{height:100%;left:4px;right:4px;top:0} \ No newline at end of file +.ScrollbarLayout_main{box-sizing:border-box;outline:none;overflow:hidden;position:absolute;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ScrollbarLayout_mainVertical{bottom:0;right:0;top:0;-webkit-transition-property:background-color width;transition-property:background-color width;width:15px}.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive,.ScrollbarLayout_mainVertical:hover{width:17px}.ScrollbarLayout_mainHorizontal{bottom:0;height:15px;left:0;-webkit-transition-property:background-color height;transition-property:background-color height}.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,.ScrollbarLayout_mainHorizontal:hover{height:17px}.ScrollbarLayout_face{left:0;overflow:hidden;position:absolute;z-index:1}.ScrollbarLayout_face:after{border-radius:6px;content:'';display:block;position:absolute;-webkit-transition:background-color 250ms ease;transition:background-color 250ms ease}.ScrollbarLayout_faceHorizontal{bottom:0;left:0;top:0}.ScrollbarLayout_faceHorizontal:after{bottom:4px;left:0;top:4px;width:100%}.ScrollbarLayout_faceVertical{left:0;right:0;top:0}.ScrollbarLayout_faceVertical:after{height:100%;left:4px;right:4px;top:0}.fixedDataTableCellGroupLayout_cellGroup{-webkit-backface-visibility:hidden;backface-visibility:hidden;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.fixedDataTableCellGroupLayout_cellGroup>.public_fixedDataTableCell_main{display:inline-block;vertical-align:top;white-space:normal}.fixedDataTableCellGroupLayout_cellGroupWrapper{position:absolute;top:0}.fixedDataTableCellLayout_main{border-right-style:solid;border-width:0 1px 0 0;box-sizing:border-box;display:block;overflow:hidden;position:absolute;white-space:normal}.fixedDataTableCellLayout_lastChild{border-width:0 1px 1px 0}.fixedDataTableCellLayout_alignRight{text-align:right}.fixedDataTableCellLayout_alignCenter{text-align:center}.fixedDataTableCellLayout_wrap1{display:table}.fixedDataTableCellLayout_wrap2{display:table-row}.fixedDataTableCellLayout_wrap3{display:table-cell;vertical-align:middle}.fixedDataTableCellLayout_columnResizerContainer{position:absolute;right:0;width:6px;z-index:1}.fixedDataTableCellLayout_columnResizerContainer:hover{cursor:ew-resize}.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob{visibility:visible}.fixedDataTableCellLayout_columnResizerKnob{position:absolute;right:0;visibility:hidden;width:4px}.fixedDataTableColumnResizerLineLayout_mouseArea{cursor:ew-resize;position:absolute;right:-5px;width:12px}.fixedDataTableColumnResizerLineLayout_main{border-right-style:solid;border-right-width:1px;box-sizing:border-box;position:absolute;z-index:10}body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main,.fixedDataTableColumnResizerLineLayout_hiddenElem{display:none!important}.fixedDataTableLayout_main{border-style:solid;border-width:1px;box-sizing:border-box;overflow:hidden;position:relative}.fixedDataTableLayout_header,.fixedDataTableLayout_hasBottomBorder{border-bottom-style:solid;border-bottom-width:1px}.fixedDataTableLayout_footer .public_fixedDataTableCell_main{border-top-style:solid;border-top-width:1px}.fixedDataTableLayout_topShadow,.fixedDataTableLayout_bottomShadow{height:4px;left:0;position:absolute;right:0;z-index:1}.fixedDataTableLayout_bottomShadow{margin-top:-4px}.fixedDataTableLayout_rowsContainer{overflow:hidden;position:relative}.fixedDataTableLayout_horizontalScrollbar{bottom:0;position:absolute}.fixedDataTableRowLayout_main{box-sizing:border-box;overflow:hidden;position:absolute;top:0}.fixedDataTableRowLayout_body{left:0;position:absolute;top:0}.fixedDataTableRowLayout_fixedColumnsDivider{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-left-style:solid;border-left-width:1px;left:0;position:absolute;top:0;width:0}.fixedDataTableRowLayout_columnsShadow{width:4px}.fixedDataTableRowLayout_rowWrapper{position:absolute;top:0} \ No newline at end of file diff --git a/dist/fixed-data-table-style.css b/dist/fixed-data-table-style.css index f1f8e369..e41dfbaa 100644 --- a/dist/fixed-data-table-style.css +++ b/dist/fixed-data-table-style.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -9,6 +9,43 @@ * of patent rights can be found in the PATENTS file in the same directory. */ +/** + * 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. + * + * @providesModule Scrollbar + * + */ + +/** + * Scrollbars. + */ + +/* Touching the scroll-track directly makes the scroll-track bolder */ +.public_Scrollbar_main.public_Scrollbar_mainActive, +.public_Scrollbar_main:hover { + background-color: rgba(255, 255, 255, 0.8); +} + +.public_Scrollbar_mainOpaque, +.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive, +.public_Scrollbar_mainOpaque:hover { + background-color: #fff; +} + +.public_Scrollbar_face:after { + background-color: #c2c2c2; +} + +.public_Scrollbar_main:hover .public_Scrollbar_face:after, +.public_Scrollbar_mainActive .public_Scrollbar_face:after, +.public_Scrollbar_faceActive:after { + background-color: #7d7d7d; +} /** * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -138,40 +175,3 @@ .public_fixedDataTableRow_columnsShadow { background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y; } -/** - * 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. - * - * @providesModule Scrollbar - * - */ - -/** - * Scrollbars. - */ - -/* Touching the scroll-track directly makes the scroll-track bolder */ -.public_Scrollbar_main.public_Scrollbar_mainActive, -.public_Scrollbar_main:hover { - background-color: rgba(255, 255, 255, 0.8); -} - -.public_Scrollbar_mainOpaque, -.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive, -.public_Scrollbar_mainOpaque:hover { - background-color: #fff; -} - -.public_Scrollbar_face:after { - background-color: #c2c2c2; -} - -.public_Scrollbar_main:hover .public_Scrollbar_face:after, -.public_Scrollbar_mainActive .public_Scrollbar_face:after, -.public_Scrollbar_faceActive:after { - background-color: #7d7d7d; -} diff --git a/dist/fixed-data-table-style.min.css b/dist/fixed-data-table-style.min.css index cfd26459..b58ae79c 100644 --- a/dist/fixed-data-table-style.min.css +++ b/dist/fixed-data-table-style.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -9,4 +9,4 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -.public_fixedDataTable_main,.public_fixedDataTable_header,.public_fixedDataTable_hasBottomBorder{border-color:#d3d3d3}.public_fixedDataTable_header .public_fixedDataTableCell_main{font-weight:700}.public_fixedDataTable_header,.public_fixedDataTable_header .public_fixedDataTableCell_main{background-color:#f6f7f8;background-image:-webkit-linear-gradient(#fff,#efefef);background-image:linear-gradient(#fff,#efefef)}.public_fixedDataTable_footer .public_fixedDataTableCell_main{background-color:#f6f7f8;border-color:#d3d3d3}.public_fixedDataTable_topShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x}.public_fixedDataTable_bottomShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x}.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal{background-color:#fff}.public_fixedDataTableCell_main{background-color:#fff;border-color:#d3d3d3}.public_fixedDataTableCell_highlighted{background-color:#f4f4f4}.public_fixedDataTableCell_cellContent{padding:8px}.public_fixedDataTableCell_columnResizerKnob{background-color:#0284ff}.public_fixedDataTableColumnResizerLine_main{border-color:#0284ff}.public_fixedDataTableRow_main{background-color:#fff}.public_fixedDataTableRow_highlighted,.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main{background-color:#f6f7f8}.public_fixedDataTableRow_fixedColumnsDivider{border-color:#d3d3d3}.public_fixedDataTableRow_columnsShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y}.public_Scrollbar_main.public_Scrollbar_mainActive,.public_Scrollbar_main:hover{background-color:rgba(255,255,255,.8)}.public_Scrollbar_mainOpaque,.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,.public_Scrollbar_mainOpaque:hover{background-color:#fff}.public_Scrollbar_face:after{background-color:#c2c2c2}.public_Scrollbar_main:hover .public_Scrollbar_face:after,.public_Scrollbar_mainActive .public_Scrollbar_face:after,.public_Scrollbar_faceActive:after{background-color:#7d7d7d} \ No newline at end of file +.public_Scrollbar_main.public_Scrollbar_mainActive,.public_Scrollbar_main:hover{background-color:rgba(255,255,255,.8)}.public_Scrollbar_mainOpaque,.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,.public_Scrollbar_mainOpaque:hover{background-color:#fff}.public_Scrollbar_face:after{background-color:#c2c2c2}.public_Scrollbar_main:hover .public_Scrollbar_face:after,.public_Scrollbar_mainActive .public_Scrollbar_face:after,.public_Scrollbar_faceActive:after{background-color:#7d7d7d}.public_fixedDataTable_main,.public_fixedDataTable_header,.public_fixedDataTable_hasBottomBorder{border-color:#d3d3d3}.public_fixedDataTable_header .public_fixedDataTableCell_main{font-weight:700}.public_fixedDataTable_header,.public_fixedDataTable_header .public_fixedDataTableCell_main{background-color:#f6f7f8;background-image:-webkit-linear-gradient(#fff,#efefef);background-image:linear-gradient(#fff,#efefef)}.public_fixedDataTable_footer .public_fixedDataTableCell_main{background-color:#f6f7f8;border-color:#d3d3d3}.public_fixedDataTable_topShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x}.public_fixedDataTable_bottomShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x}.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal{background-color:#fff}.public_fixedDataTableCell_main{background-color:#fff;border-color:#d3d3d3}.public_fixedDataTableCell_highlighted{background-color:#f4f4f4}.public_fixedDataTableCell_cellContent{padding:8px}.public_fixedDataTableCell_columnResizerKnob{background-color:#0284ff}.public_fixedDataTableColumnResizerLine_main{border-color:#0284ff}.public_fixedDataTableRow_main{background-color:#fff}.public_fixedDataTableRow_highlighted,.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main{background-color:#f6f7f8}.public_fixedDataTableRow_fixedColumnsDivider{border-color:#d3d3d3}.public_fixedDataTableRow_columnsShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y} \ No newline at end of file diff --git a/dist/fixed-data-table.css b/dist/fixed-data-table.css index a57dd782..d1a79eae 100644 --- a/dist/fixed-data-table.css +++ b/dist/fixed-data-table.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -17,28 +17,34 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableCellGroupLayout + * @providesModule Scrollbar + * */ -.fixedDataTableCellGroupLayout_cellGroup { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - left: 0; - overflow: hidden; - position: absolute; - top: 0; - white-space: nowrap; +/** + * Scrollbars. + */ + +/* Touching the scroll-track directly makes the scroll-track bolder */ +.public_Scrollbar_main.public_Scrollbar_mainActive, +.public_Scrollbar_main:hover { + background-color: rgba(255, 255, 255, 0.8); } -.fixedDataTableCellGroupLayout_cellGroup > .public_fixedDataTableCell_main { - display: inline-block; - vertical-align: top; - white-space: normal; +.public_Scrollbar_mainOpaque, +.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive, +.public_Scrollbar_mainOpaque:hover { + background-color: #fff; } -.fixedDataTableCellGroupLayout_cellGroupWrapper { - position: absolute; - top: 0; +.public_Scrollbar_face:after { + background-color: #c2c2c2; +} + +.public_Scrollbar_main:hover .public_Scrollbar_face:after, +.public_Scrollbar_mainActive .public_Scrollbar_face:after, +.public_Scrollbar_faceActive:after { + background-color: #7d7d7d; } /** * Copyright (c) 2015, Facebook, Inc. @@ -48,65 +54,48 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableCellLayout + * @providesModule fixedDataTable + * */ -.fixedDataTableCellLayout_main { - border-right-style: solid; - border-right-width: 1px; - border-width: 0 1px 0 0; - box-sizing: border-box; - display: block; - overflow: hidden; - position: absolute; - white-space: normal; -} - -.fixedDataTableCellLayout_lastChild { - border-width: 0 1px 1px 0; -} - -.fixedDataTableCellLayout_alignRight { - text-align: right; -} - -.fixedDataTableCellLayout_alignCenter { - text-align: center; +/** + * Table. + */ +.public_fixedDataTable_main { + border-color: #d3d3d3; } -.fixedDataTableCellLayout_wrap1 { - display: table; +.public_fixedDataTable_header, +.public_fixedDataTable_hasBottomBorder { + border-color: #d3d3d3; } -.fixedDataTableCellLayout_wrap2 { - display: table-row; +.public_fixedDataTable_header .public_fixedDataTableCell_main { + font-weight: bold; } -.fixedDataTableCellLayout_wrap3 { - display: table-cell; - vertical-align: middle; +.public_fixedDataTable_header, +.public_fixedDataTable_header .public_fixedDataTableCell_main { + background-color: #f6f7f8; + background-image: -webkit-linear-gradient(#fff, #efefef); + background-image: linear-gradient(#fff, #efefef); } -.fixedDataTableCellLayout_columnResizerContainer { - position: absolute; - right: 0px; - width: 6px; - z-index: 1; +.public_fixedDataTable_footer .public_fixedDataTableCell_main { + background-color: #f6f7f8; + border-color: #d3d3d3; } -.fixedDataTableCellLayout_columnResizerContainer:hover { - cursor: ew-resize; +.public_fixedDataTable_topShadow { + background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x; } -.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob { - visibility: visible; +.public_fixedDataTable_bottomShadow { + background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x; } -.fixedDataTableCellLayout_columnResizerKnob { - position: absolute; - right: 0px; - visibility: hidden; - width: 4px; +.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal { + background-color: #fff; } /** * Copyright (c) 2015, Facebook, Inc. @@ -116,34 +105,27 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableColumnResizerLineLayout + * @providesModule fixedDataTableCell */ -.fixedDataTableColumnResizerLineLayout_mouseArea { - cursor: ew-resize; - position: absolute; - right: -5px; - width: 12px; +/** + * Table cell. + */ +.public_fixedDataTableCell_main { + background-color: #fff; + border-color: #d3d3d3; } -.fixedDataTableColumnResizerLineLayout_main { - border-right-style: solid; - border-right-width: 1px; - box-sizing: border-box; - position: absolute; - z-index: 10; +.public_fixedDataTableCell_highlighted { + background-color: #f4f4f4; } -body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { - /* the resizer line is in the wrong position in RTL with no easy fix. - * Disabling is more useful than displaying it. - * #167 (github) should look into this and come up with a permanent fix. - */ - display: none !important; +.public_fixedDataTableCell_cellContent { + padding: 8px; } -.fixedDataTableColumnResizerLineLayout_hiddenElem { - display: none !important; +.public_fixedDataTableCell_columnResizerKnob { + background-color: #0284ff; } /** * Copyright (c) 2015, Facebook, Inc. @@ -153,49 +135,15 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableLayout + * @providesModule fixedDataTableColumnResizerLine + * */ -.fixedDataTableLayout_main { - border-style: solid; - border-width: 1px; - box-sizing: border-box; - overflow: hidden; - position: relative; -} - -.fixedDataTableLayout_header, -.fixedDataTableLayout_hasBottomBorder { - border-bottom-style: solid; - border-bottom-width: 1px; -} - -.fixedDataTableLayout_footer .public_fixedDataTableCell_main { - border-top-style: solid; - border-top-width: 1px; -} - -.fixedDataTableLayout_topShadow, -.fixedDataTableLayout_bottomShadow { - height: 4px; - left: 0; - position: absolute; - right: 0; - z-index: 1; -} - -.fixedDataTableLayout_bottomShadow { - margin-top: -4px; -} - -.fixedDataTableLayout_rowsContainer { - overflow: hidden; - position: relative; -} - -.fixedDataTableLayout_horizontalScrollbar { - bottom: 0; - position: absolute; +/** + * Column resizer line. + */ +.public_fixedDataTableColumnResizerLine_main { + border-color: #0284ff; } /** * Copyright (c) 2015, Facebook, Inc. @@ -205,40 +153,27 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableRowLayout + * @providesModule fixedDataTableRow */ -.fixedDataTableRowLayout_main { - box-sizing: border-box; - overflow: hidden; - position: absolute; - top: 0; -} - -.fixedDataTableRowLayout_body { - left: 0; - position: absolute; - top: 0; +/** + * Table row. + */ +.public_fixedDataTableRow_main { + background-color: #fff; } -.fixedDataTableRowLayout_fixedColumnsDivider { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - border-left-style: solid; - border-left-width: 1px; - left: 0; - position: absolute; - top: 0; - width: 0; +.public_fixedDataTableRow_highlighted, +.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main { + background-color: #f6f7f8; } -.fixedDataTableRowLayout_columnsShadow { - width: 4px; +.public_fixedDataTableRow_fixedColumnsDivider { + border-color: #d3d3d3; } -.fixedDataTableRowLayout_rowWrapper { - position: absolute; - top: 0; +.public_fixedDataTableRow_columnsShadow { + background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y; } /** * Copyright (c) 2015, Facebook, Inc. @@ -349,48 +284,96 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTable - * + * @providesModule fixedDataTableCellGroupLayout */ +.fixedDataTableCellGroupLayout_cellGroup { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + left: 0; + overflow: hidden; + position: absolute; + top: 0; + white-space: nowrap; +} + +.fixedDataTableCellGroupLayout_cellGroup > .public_fixedDataTableCell_main { + display: inline-block; + vertical-align: top; + white-space: normal; +} + +.fixedDataTableCellGroupLayout_cellGroupWrapper { + position: absolute; + top: 0; +} /** - * Table. + * 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. + * + * @providesModule fixedDataTableCellLayout */ -.public_fixedDataTable_main { - border-color: #d3d3d3; + +.fixedDataTableCellLayout_main { + border-right-style: solid; + border-right-width: 1px; + border-width: 0 1px 0 0; + box-sizing: border-box; + display: block; + overflow: hidden; + position: absolute; + white-space: normal; } -.public_fixedDataTable_header, -.public_fixedDataTable_hasBottomBorder { - border-color: #d3d3d3; +.fixedDataTableCellLayout_lastChild { + border-width: 0 1px 1px 0; } -.public_fixedDataTable_header .public_fixedDataTableCell_main { - font-weight: bold; +.fixedDataTableCellLayout_alignRight { + text-align: right; } -.public_fixedDataTable_header, -.public_fixedDataTable_header .public_fixedDataTableCell_main { - background-color: #f6f7f8; - background-image: -webkit-linear-gradient(#fff, #efefef); - background-image: linear-gradient(#fff, #efefef); +.fixedDataTableCellLayout_alignCenter { + text-align: center; } -.public_fixedDataTable_footer .public_fixedDataTableCell_main { - background-color: #f6f7f8; - border-color: #d3d3d3; +.fixedDataTableCellLayout_wrap1 { + display: table; } -.public_fixedDataTable_topShadow { - background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x; +.fixedDataTableCellLayout_wrap2 { + display: table-row; } -.public_fixedDataTable_bottomShadow { - background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x; +.fixedDataTableCellLayout_wrap3 { + display: table-cell; + vertical-align: middle; } -.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal { - background-color: #fff; +.fixedDataTableCellLayout_columnResizerContainer { + position: absolute; + right: 0px; + width: 6px; + z-index: 1; +} + +.fixedDataTableCellLayout_columnResizerContainer:hover { + cursor: ew-resize; +} + +.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob { + visibility: visible; +} + +.fixedDataTableCellLayout_columnResizerKnob { + position: absolute; + right: 0px; + visibility: hidden; + width: 4px; } /** * Copyright (c) 2015, Facebook, Inc. @@ -400,27 +383,34 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableCell + * @providesModule fixedDataTableColumnResizerLineLayout */ -/** - * Table cell. - */ -.public_fixedDataTableCell_main { - background-color: #fff; - border-color: #d3d3d3; +.fixedDataTableColumnResizerLineLayout_mouseArea { + cursor: ew-resize; + position: absolute; + right: -5px; + width: 12px; } -.public_fixedDataTableCell_highlighted { - background-color: #f4f4f4; +.fixedDataTableColumnResizerLineLayout_main { + border-right-style: solid; + border-right-width: 1px; + box-sizing: border-box; + position: absolute; + z-index: 10; } -.public_fixedDataTableCell_cellContent { - padding: 8px; +body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { + /* the resizer line is in the wrong position in RTL with no easy fix. + * Disabling is more useful than displaying it. + * #167 (github) should look into this and come up with a permanent fix. + */ + display: none !important; } -.public_fixedDataTableCell_columnResizerKnob { - background-color: #0284ff; +.fixedDataTableColumnResizerLineLayout_hiddenElem { + display: none !important; } /** * Copyright (c) 2015, Facebook, Inc. @@ -430,45 +420,49 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule fixedDataTableColumnResizerLine - * + * @providesModule fixedDataTableLayout */ -/** - * Column resizer line. - */ -.public_fixedDataTableColumnResizerLine_main { - border-color: #0284ff; +.fixedDataTableLayout_main { + border-style: solid; + border-width: 1px; + box-sizing: border-box; + overflow: hidden; + position: relative; } -/** - * 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. - * - * @providesModule fixedDataTableRow - */ -/** - * Table row. - */ -.public_fixedDataTableRow_main { - background-color: #fff; +.fixedDataTableLayout_header, +.fixedDataTableLayout_hasBottomBorder { + border-bottom-style: solid; + border-bottom-width: 1px; } -.public_fixedDataTableRow_highlighted, -.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main { - background-color: #f6f7f8; +.fixedDataTableLayout_footer .public_fixedDataTableCell_main { + border-top-style: solid; + border-top-width: 1px; } -.public_fixedDataTableRow_fixedColumnsDivider { - border-color: #d3d3d3; +.fixedDataTableLayout_topShadow, +.fixedDataTableLayout_bottomShadow { + height: 4px; + left: 0; + position: absolute; + right: 0; + z-index: 1; } -.public_fixedDataTableRow_columnsShadow { - background: 0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y; +.fixedDataTableLayout_bottomShadow { + margin-top: -4px; +} + +.fixedDataTableLayout_rowsContainer { + overflow: hidden; + position: relative; +} + +.fixedDataTableLayout_horizontalScrollbar { + bottom: 0; + position: absolute; } /** * Copyright (c) 2015, Facebook, Inc. @@ -478,32 +472,38 @@ body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main { * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule Scrollbar - * + * @providesModule fixedDataTableRowLayout */ -/** - * Scrollbars. - */ +.fixedDataTableRowLayout_main { + box-sizing: border-box; + overflow: hidden; + position: absolute; + top: 0; +} -/* Touching the scroll-track directly makes the scroll-track bolder */ -.public_Scrollbar_main.public_Scrollbar_mainActive, -.public_Scrollbar_main:hover { - background-color: rgba(255, 255, 255, 0.8); +.fixedDataTableRowLayout_body { + left: 0; + position: absolute; + top: 0; } -.public_Scrollbar_mainOpaque, -.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive, -.public_Scrollbar_mainOpaque:hover { - background-color: #fff; +.fixedDataTableRowLayout_fixedColumnsDivider { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + border-left-style: solid; + border-left-width: 1px; + left: 0; + position: absolute; + top: 0; + width: 0; } -.public_Scrollbar_face:after { - background-color: #c2c2c2; +.fixedDataTableRowLayout_columnsShadow { + width: 4px; } -.public_Scrollbar_main:hover .public_Scrollbar_face:after, -.public_Scrollbar_mainActive .public_Scrollbar_face:after, -.public_Scrollbar_faceActive:after { - background-color: #7d7d7d; +.fixedDataTableRowLayout_rowWrapper { + position: absolute; + top: 0; } diff --git a/dist/fixed-data-table.js b/dist/fixed-data-table.js index 03aaef92..29a1eafe 100644 --- a/dist/fixed-data-table.js +++ b/dist/fixed-data-table.js @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -18,7 +18,7 @@ exports["FixedDataTable"] = factory(require("react"), require("react-dom")); else root["FixedDataTable"] = factory(root["React"], root["ReactDOM"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_28__, __WEBPACK_EXTERNAL_MODULE_45__) { +})(this, function(__WEBPACK_EXTERNAL_MODULE_28__, __WEBPACK_EXTERNAL_MODULE_46__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -65,23 +65,23 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ function(module, exports, __webpack_require__) { - __webpack_require__(1); - __webpack_require__(5); - __webpack_require__(7); - __webpack_require__(9); - __webpack_require__(11); __webpack_require__(13); __webpack_require__(15); __webpack_require__(17); __webpack_require__(19); __webpack_require__(21); __webpack_require__(23); + __webpack_require__(1); + __webpack_require__(5); + __webpack_require__(7); + __webpack_require__(9); + __webpack_require__(11); module.exports = __webpack_require__(25); /***/ }, /* 1 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin @@ -90,70 +90,70 @@ return /******/ (function(modules) { // webpackBootstrap /* 3 */, /* 4 */, /* 5 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 6 */, /* 7 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 8 */, /* 9 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 10 */, /* 11 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 12 */, /* 13 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 14 */, /* 15 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 16 */, /* 17 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 18 */, /* 19 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 20 */, /* 21 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin /***/ }, /* 22 */, /* 23 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { // removed by extract-text-webpack-plugin @@ -176,18 +176,17 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; var FixedDataTable = __webpack_require__(26); - var FixedDataTableCellDefault = __webpack_require__(65); - var FixedDataTableColumn = __webpack_require__(63); - var FixedDataTableColumnGroup = __webpack_require__(62); + var FixedDataTableCellDefault = __webpack_require__(66); + var FixedDataTableColumn = __webpack_require__(64); + var FixedDataTableColumnGroup = __webpack_require__(63); var FixedDataTableRoot = { Cell: FixedDataTableCellDefault, Column: FixedDataTableColumn, ColumnGroup: FixedDataTableColumnGroup, - Table: FixedDataTable - }; + Table: FixedDataTable }; - FixedDataTableRoot.version = '0.6.0-rc1'; + FixedDataTableRoot.version = '0.6.0'; module.exports = FixedDataTableRoot; /***/ }, @@ -494,8 +493,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * Whether a column is currently being resized. */ - isColumnResizing: PropTypes.bool - }, + isColumnResizing: PropTypes.bool }, getInitialState: function getInitialState() { // Throw warnings on deprecated props. @@ -709,8 +707,7 @@ return /******/ (function(modules) { // webpackBootstrap }), this._convertedColumns(this.state.needsMigration) ); - } - }); + } }); module.exports = TransitionTable; @@ -735,7 +732,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 28 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { module.exports = __WEBPACK_EXTERNAL_MODULE_28__; @@ -763,22 +760,22 @@ return /******/ (function(modules) { // webpackBootstrap var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var React = __webpack_require__(27); - var ReactComponentWithPureRenderMixin = __webpack_require__(30); - var ReactWheelHandler = __webpack_require__(31); - var Scrollbar = __webpack_require__(39); - var FixedDataTableBufferedRows = __webpack_require__(53); - var FixedDataTableColumnResizeHandle = __webpack_require__(67); - var FixedDataTableRow = __webpack_require__(58); - var FixedDataTableScrollHelper = __webpack_require__(68); - var FixedDataTableWidthHelper = __webpack_require__(70); - - var cx = __webpack_require__(47); + var ReactComponentWithPureRenderMixin = __webpack_require__(31); + var ReactWheelHandler = __webpack_require__(32); + var Scrollbar = __webpack_require__(40); + var FixedDataTableBufferedRows = __webpack_require__(54); + var FixedDataTableColumnResizeHandle = __webpack_require__(68); + var FixedDataTableRow = __webpack_require__(59); + var FixedDataTableScrollHelper = __webpack_require__(69); + var FixedDataTableWidthHelper = __webpack_require__(30); + + var cx = __webpack_require__(48); var debounceCore = __webpack_require__(71); - var emptyFunction = __webpack_require__(32); - var invariant = __webpack_require__(52); - var joinClasses = __webpack_require__(66); + var emptyFunction = __webpack_require__(33); + var invariant = __webpack_require__(53); + var joinClasses = __webpack_require__(67); var shallowEqual = __webpack_require__(72); - var translateDOMPositionXY = __webpack_require__(48); + var translateDOMPositionXY = __webpack_require__(49); var PropTypes = React.PropTypes; @@ -1001,8 +998,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * Whether a column is currently being resized. */ - isColumnResizing: PropTypes.bool - }, + isColumnResizing: PropTypes.bool }, getDefaultProps: function getDefaultProps() /*object*/{ return { @@ -1010,8 +1006,7 @@ return /******/ (function(modules) { // webpackBootstrap groupHeaderHeight: 0, headerHeight: 0, scrollLeft: 0, - scrollTop: 0 - }; + scrollTop: 0 }; }, getInitialState: function getInitialState() /*object*/{ @@ -1534,8 +1529,7 @@ return /******/ (function(modules) { // webpackBootstrap // The order of elements in this object metters and bringing bodyHeight, // height or useGroupHeader to the top can break various features var newState = _extends({ - isColumnResizing: oldState && oldState.isColumnResizing - }, columnInfo, props, { + isColumnResizing: oldState && oldState.isColumnResizing }, columnInfo, props, { columns: columns, columnGroups: columnGroups, @@ -1555,8 +1549,7 @@ return /******/ (function(modules) { // webpackBootstrap bodyHeight: bodyHeight, height: height, groupHeaderHeight: groupHeaderHeight, - useGroupHeader: useGroupHeader - }); + useGroupHeader: useGroupHeader }); return newState; }, @@ -1584,8 +1577,7 @@ return /******/ (function(modules) { // webpackBootstrap } return { fixed: fixedColumns, - scrollable: scrollableColumns - }; + scrollable: scrollableColumns }; }, _onWheel: function _onWheel( /*number*/deltaX, /*number*/deltaY) { @@ -1602,15 +1594,13 @@ return /******/ (function(modules) { // webpackBootstrap firstRowOffset: scrollState.offset, scrollY: scrollState.position, scrollContentHeight: scrollState.contentHeight, - maxScrollY: maxScrollY - }); + maxScrollY: maxScrollY }); } else if (deltaX && this.props.overflowX !== 'hidden') { x += deltaX; x = x < 0 ? 0 : x; x = x > this.state.maxScrollX ? this.state.maxScrollX : x; this.setState({ - scrollX: x - }); + scrollX: x }); } this._didScrollStop(); @@ -1623,8 +1613,7 @@ return /******/ (function(modules) { // webpackBootstrap this._didScrollStart(); } this.setState({ - scrollX: scrollPos - }); + scrollX: scrollPos }); this._didScrollStop(); } }, @@ -1639,8 +1628,7 @@ return /******/ (function(modules) { // webpackBootstrap firstRowIndex: scrollState.index, firstRowOffset: scrollState.offset, scrollY: scrollState.position, - scrollContentHeight: scrollState.contentHeight - }); + scrollContentHeight: scrollState.contentHeight }); this._didScrollStop(); } }, @@ -1662,8 +1650,7 @@ return /******/ (function(modules) { // webpackBootstrap this.props.onScrollEnd(this.state.scrollX, this.state.scrollY); } } - } - }); + } }); var HorizontalScrollbar = React.createClass({ displayName: 'HorizontalScrollbar', @@ -1674,20 +1661,17 @@ return /******/ (function(modules) { // webpackBootstrap offset: PropTypes.number.isRequired, onScroll: PropTypes.func.isRequired, position: PropTypes.number.isRequired, - size: PropTypes.number.isRequired - }, + size: PropTypes.number.isRequired }, render: function render() /*object*/{ var outerContainerStyle = { height: Scrollbar.SIZE, - width: this.props.size - }; + width: this.props.size }; var innerContainerStyle = { height: Scrollbar.SIZE, position: 'absolute', overflow: 'hidden', - width: this.props.size - }; + width: this.props.size }; translateDOMPositionXY(innerContainerStyle, 0, this.props.offset); return React.createElement( @@ -1705,16 +1689,150 @@ return /******/ (function(modules) { // webpackBootstrap })) ) ); - } - }); + } }); module.exports = FixedDataTable; + // isColumnResizing should be overwritten by value from props if // avaialble /***/ }, /* 30 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { + + /** + * 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. + * + * @providesModule FixedDataTableWidthHelper + * @typechecks + */ + + 'use strict'; + + var React = __webpack_require__(27); + + function getTotalWidth( /*array*/columns) /*number*/{ + var totalWidth = 0; + for (var i = 0; i < columns.length; ++i) { + totalWidth += columns[i].props.width; + } + return totalWidth; + } + + function getTotalFlexGrow( /*array*/columns) /*number*/{ + var totalFlexGrow = 0; + for (var i = 0; i < columns.length; ++i) { + totalFlexGrow += columns[i].props.flexGrow || 0; + } + return totalFlexGrow; + } + + function distributeFlexWidth( + /*array*/columns, + /*number*/flexWidth) /*object*/{ + if (flexWidth <= 0) { + return { + columns: columns, + width: getTotalWidth(columns) }; + } + var remainingFlexGrow = getTotalFlexGrow(columns); + var remainingFlexWidth = flexWidth; + var newColumns = []; + var totalWidth = 0; + for (var i = 0; i < columns.length; ++i) { + var column = columns[i]; + if (!column.props.flexGrow) { + totalWidth += column.props.width; + newColumns.push(column); + continue; + } + var columnFlexWidth = Math.floor(column.props.flexGrow / remainingFlexGrow * remainingFlexWidth); + var newColumnWidth = Math.floor(column.props.width + columnFlexWidth); + totalWidth += newColumnWidth; + + remainingFlexGrow -= column.props.flexGrow; + remainingFlexWidth -= columnFlexWidth; + + newColumns.push(React.cloneElement(column, { width: newColumnWidth })); + } + + return { + columns: newColumns, + width: totalWidth }; + } + + function adjustColumnGroupWidths( + /*array*/columnGroups, + /*number*/expectedWidth) /*object*/{ + var allColumns = []; + var i; + for (i = 0; i < columnGroups.length; ++i) { + React.Children.forEach(columnGroups[i].props.children, function (column) { + allColumns.push(column); + }); + } + var columnsWidth = getTotalWidth(allColumns); + var remainingFlexGrow = getTotalFlexGrow(allColumns); + var remainingFlexWidth = Math.max(expectedWidth - columnsWidth, 0); + + var newAllColumns = []; + var newColumnGroups = []; + + for (i = 0; i < columnGroups.length; ++i) { + var columnGroup = columnGroups[i]; + var currentColumns = []; + + React.Children.forEach(columnGroup.props.children, function (column) { + currentColumns.push(column); + }); + + var columnGroupFlexGrow = getTotalFlexGrow(currentColumns); + var columnGroupFlexWidth = Math.floor(columnGroupFlexGrow / remainingFlexGrow * remainingFlexWidth); + + var newColumnSettings = distributeFlexWidth(currentColumns, columnGroupFlexWidth); + + remainingFlexGrow -= columnGroupFlexGrow; + remainingFlexWidth -= columnGroupFlexWidth; + + for (var j = 0; j < newColumnSettings.columns.length; ++j) { + newAllColumns.push(newColumnSettings.columns[j]); + } + + newColumnGroups.push(React.cloneElement(columnGroup, { width: newColumnSettings.width })); + } + + return { + columns: newAllColumns, + columnGroups: newColumnGroups }; + } + + function adjustColumnWidths( + /*array*/columns, + /*number*/expectedWidth) /*array*/{ + var columnsWidth = getTotalWidth(columns); + if (columnsWidth < expectedWidth) { + return distributeFlexWidth(columns, expectedWidth - columnsWidth).columns; + } + return columns; + } + + var FixedDataTableWidthHelper = { + getTotalWidth: getTotalWidth, + getTotalFlexGrow: getTotalFlexGrow, + distributeFlexWidth: distributeFlexWidth, + adjustColumnWidths: adjustColumnWidths, + adjustColumnGroupWidths: adjustColumnGroupWidths }; + + module.exports = FixedDataTableWidthHelper; + +/***/ }, +/* 31 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -1789,7 +1907,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = ReactComponentWithPureRenderMixin; /***/ }, -/* 31 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1813,9 +1931,9 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var emptyFunction = __webpack_require__(32); - var normalizeWheel = __webpack_require__(33); - var requestAnimationFramePolyfill = __webpack_require__(37); + var emptyFunction = __webpack_require__(33); + var normalizeWheel = __webpack_require__(34); + var requestAnimationFramePolyfill = __webpack_require__(38); var ReactWheelHandler = (function () { /** @@ -1899,8 +2017,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = ReactWheelHandler; /***/ }, -/* 32 */ -/***/ function(module, exports) { +/* 33 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -1942,7 +2060,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = emptyFunction; /***/ }, -/* 33 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { /** @@ -1959,9 +2077,9 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var UserAgent_DEPRECATED = __webpack_require__(34); + var UserAgent_DEPRECATED = __webpack_require__(35); - var isEventSupported = __webpack_require__(35); + var isEventSupported = __webpack_require__(36); // Reasonable defaults var PIXEL_STEP = 10; @@ -2143,8 +2261,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = normalizeWheel; /***/ }, -/* 34 */ -/***/ function(module, exports) { +/* 35 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright 2004-present Facebook. All Rights Reserved. @@ -2406,7 +2524,7 @@ return /******/ (function(modules) { // webpackBootstrap }, mobile: function mobile() { - return _populate() || _iphone || _ipad || _android || _mobile; + return _populate() || (_iphone || _ipad || _android || _mobile); }, nativeApp: function nativeApp() { @@ -2426,7 +2544,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = UserAgent_DEPRECATED; /***/ }, -/* 35 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2442,7 +2560,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var ExecutionEnvironment = __webpack_require__(36); + var ExecutionEnvironment = __webpack_require__(37); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { @@ -2491,8 +2609,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = isEventSupported; /***/ }, -/* 36 */ -/***/ function(module, exports) { +/* 37 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -2534,7 +2652,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = ExecutionEnvironment; /***/ }, -/* 37 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** @@ -2550,8 +2668,8 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var emptyFunction = __webpack_require__(32); - var nativeRequestAnimationFrame = __webpack_require__(38); + var emptyFunction = __webpack_require__(33); + var nativeRequestAnimationFrame = __webpack_require__(39); var lastTime = 0; @@ -2575,8 +2693,8 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 38 */ -/***/ function(module, exports) { +/* 39 */ +/***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** * Copyright (c) 2015, Facebook, Inc. @@ -2597,7 +2715,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 39 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { /** @@ -2614,24 +2732,23 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var DOMMouseMoveTracker = __webpack_require__(40); - var Keys = __webpack_require__(43); + var DOMMouseMoveTracker = __webpack_require__(41); + var Keys = __webpack_require__(44); var React = __webpack_require__(27); - var ReactDOM = __webpack_require__(44); - var ReactComponentWithPureRenderMixin = __webpack_require__(30); - var ReactWheelHandler = __webpack_require__(31); + var ReactDOM = __webpack_require__(45); + var ReactComponentWithPureRenderMixin = __webpack_require__(31); + var ReactWheelHandler = __webpack_require__(32); - var cssVar = __webpack_require__(46); - var cx = __webpack_require__(47); - var emptyFunction = __webpack_require__(32); - var translateDOMPositionXY = __webpack_require__(48); + var cssVar = __webpack_require__(47); + var cx = __webpack_require__(48); + var emptyFunction = __webpack_require__(33); + var translateDOMPositionXY = __webpack_require__(49); var PropTypes = React.PropTypes; var UNSCROLLABLE_STATE = { position: 0, - scrollable: false - }; + scrollable: false }; var FACE_MARGIN = parseInt(cssVar('scrollbar-face-margin'), 10); var FACE_MARGIN_2 = FACE_MARGIN * 2; @@ -2678,8 +2795,7 @@ return /******/ (function(modules) { // webpackBootstrap isOpaque: false, onScroll: emptyFunction, orientation: 'vertical', - zIndex: 99 - }; + zIndex: 99 }; }, render: function render() /*?object*/{ @@ -2703,23 +2819,20 @@ return /******/ (function(modules) { // webpackBootstrap 'ScrollbarLayout/mainHorizontal': isHorizontal, 'public/Scrollbar/main': true, 'public/Scrollbar/mainOpaque': isOpaque, - 'public/Scrollbar/mainActive': isActive - }); + 'public/Scrollbar/mainActive': isActive }); var faceClassName = cx({ 'ScrollbarLayout/face': true, 'ScrollbarLayout/faceHorizontal': isHorizontal, 'ScrollbarLayout/faceVertical': isVertical, 'public/Scrollbar/faceActive': isActive, - 'public/Scrollbar/face': true - }); + 'public/Scrollbar/face': true }); var position = this.state.position * this.state.scale + FACE_MARGIN; if (isHorizontal) { mainStyle = { - width: size - }; + width: size }; faceStyle = { width: faceSize - FACE_MARGIN_2 }; @@ -2727,11 +2840,9 @@ return /******/ (function(modules) { // webpackBootstrap } else { mainStyle = { top: verticalTop, - height: size - }; + height: size }; faceStyle = { - height: faceSize - FACE_MARGIN_2 - }; + height: faceSize - FACE_MARGIN_2 }; translateDOMPositionXY(faceStyle, 0, position); } @@ -2812,7 +2923,7 @@ return /******/ (function(modules) { // webpackBootstrap return UNSCROLLABLE_STATE; } - var stateKey = position + '_' + size + '_' + contentSize + '_' + orientation; + var stateKey = '' + position + '_' + size + '_' + contentSize + '_' + orientation; if (this._stateKey === stateKey) { return this._stateForKey; } @@ -2851,8 +2962,7 @@ return /******/ (function(modules) { // webpackBootstrap isHorizontal: isHorizontal, position: position, scale: scale, - scrollable: scrollable - }; + scrollable: scrollable }; // cache the state for later use. this._stateKey = stateKey; @@ -2993,14 +3103,12 @@ return /******/ (function(modules) { // webpackBootstrap _onFocus: function _onFocus() { this.setState({ - focused: true - }); + focused: true }); }, _onBlur: function _onBlur() { this.setState({ - focused: false - }); + focused: false }); }, _blur: function _blur() { @@ -3008,9 +3116,7 @@ return /******/ (function(modules) { // webpackBootstrap try { this._onBlur(); ReactDOM.findDOMNode(this).blur(); - } catch (oops) { - // pass - } + } catch (oops) {} } }, @@ -3040,16 +3146,17 @@ return /******/ (function(modules) { // webpackBootstrap _didScroll: function _didScroll() { this.props.onScroll(this.state.position); - } - }); + } }); Scrollbar.KEYBOARD_SCROLL_AMOUNT = KEYBOARD_SCROLL_AMOUNT; Scrollbar.SIZE = parseInt(cssVar('scrollbar-size'), 10); module.exports = Scrollbar; + // pass + /***/ }, -/* 40 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3077,10 +3184,10 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var EventListener = __webpack_require__(41); + var EventListener = __webpack_require__(42); - var cancelAnimationFramePolyfill = __webpack_require__(42); - var requestAnimationFramePolyfill = __webpack_require__(37); + var cancelAnimationFramePolyfill = __webpack_require__(43); + var requestAnimationFramePolyfill = __webpack_require__(38); var DOMMouseMoveTracker = (function () { /** @@ -3104,15 +3211,15 @@ return /******/ (function(modules) { // webpackBootstrap this._didMouseMove = this._didMouseMove.bind(this); } - /** - * This is to set up the listeners for listening to mouse move - * and mouse up signaling the movement has ended. Please note that these - * listeners are added at the document.body level. It takes in an event - * in order to grab inital state. - */ - _createClass(DOMMouseMoveTracker, [{ key: 'captureMouseMoves', + + /** + * This is to set up the listeners for listening to mouse move + * and mouse up signaling the movement has ended. Please note that these + * listeners are added at the document.body level. It takes in an event + * in order to grab inital state. + */ value: function captureMouseMoves( /*object*/event) { if (!this._eventMoveToken && !this._eventUpToken) { this._eventMoveToken = EventListener.listen(this._domNode, 'mousemove', this._onMouseMove); @@ -3128,12 +3235,12 @@ return /******/ (function(modules) { // webpackBootstrap } event.preventDefault(); } + }, { + key: 'releaseMouseMoves', /** * These releases all of the listeners on document.body. */ - }, { - key: 'releaseMouseMoves', value: function releaseMouseMoves() { if (this._eventMoveToken && this._eventUpToken) { this._eventMoveToken.remove(); @@ -3153,21 +3260,21 @@ return /******/ (function(modules) { // webpackBootstrap this._y = null; } } + }, { + key: 'isDragging', /** * Returns whether or not if the mouse movement is being tracked. */ - }, { - key: 'isDragging', value: function isDragging() /*boolean*/{ return this._isDragging; } + }, { + key: '_onMouseMove', /** * Calls onMove passed into constructor and updates internal state. */ - }, { - key: '_onMouseMove', value: function _onMouseMove( /*object*/event) { var x = event.clientX; var y = event.clientY; @@ -3193,12 +3300,12 @@ return /******/ (function(modules) { // webpackBootstrap this._deltaX = 0; this._deltaY = 0; } + }, { + key: '_onMouseUp', /** * Calls onMoveEnd passed into constructor and updates internal state. */ - }, { - key: '_onMouseUp', value: function _onMouseUp() { if (this._animationFrameID) { this._didMouseMove(); @@ -3213,7 +3320,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DOMMouseMoveTracker; /***/ }, -/* 41 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3230,7 +3337,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var emptyFunction = __webpack_require__(32); + var emptyFunction = __webpack_require__(33); /** * Upstream version of event listener. Does not take into account specific @@ -3295,8 +3402,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = EventListener; /***/ }, -/* 42 */ -/***/ function(module, exports) { +/* 43 */ +/***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** * Copyright (c) 2015, Facebook, Inc. @@ -3321,8 +3428,8 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 43 */ -/***/ function(module, exports) { +/* 44 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -3363,7 +3470,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 44 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3379,17 +3486,17 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - module.exports = __webpack_require__(45); + module.exports = __webpack_require__(46); /***/ }, -/* 45 */ -/***/ function(module, exports) { +/* 46 */ +/***/ function(module, exports, __webpack_require__) { - module.exports = __WEBPACK_EXTERNAL_MODULE_45__; + module.exports = __WEBPACK_EXTERNAL_MODULE_46__; /***/ }, -/* 46 */ -/***/ function(module, exports) { +/* 47 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -3403,7 +3510,7 @@ return /******/ (function(modules) { // webpackBootstrap * @typechecks */ - "use strict"; + 'use strict'; var CSS_VARS = { 'scrollbar-face-active-color': '#7d7d7d', @@ -3414,8 +3521,7 @@ return /******/ (function(modules) { // webpackBootstrap 'scrollbar-size-large': '17px', 'scrollbar-track-color': 'rgba(255, 255, 255, 0.8)', 'fbui-white': '#fff', - 'fbui-desktop-background-light': '#f6f7f8' - }; + 'fbui-desktop-background-light': '#f6f7f8' }; /** * @param {string} name @@ -3433,8 +3539,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = cssVar; /***/ }, -/* 47 */ -/***/ function(module, exports) { +/* 48 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -3492,7 +3598,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = cx; /***/ }, -/* 48 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** @@ -3509,9 +3615,9 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var BrowserSupportCore = __webpack_require__(49); + var BrowserSupportCore = __webpack_require__(50); - var getVendorPrefixedName = __webpack_require__(50); + var getVendorPrefixedName = __webpack_require__(51); var TRANSFORM = getVendorPrefixedName('transform'); var BACKFACE_VISIBILITY = getVendorPrefixedName('backfaceVisibility'); @@ -3546,7 +3652,7 @@ return /******/ (function(modules) { // webpackBootstrap /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, -/* 49 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3562,7 +3668,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var getVendorPrefixedName = __webpack_require__(50); + var getVendorPrefixedName = __webpack_require__(51); var BrowserSupportCore = { /** @@ -3591,13 +3697,12 @@ return /******/ (function(modules) { // webpackBootstrap */ hasCSSTransitions: function hasCSSTransitions() { return !!getVendorPrefixedName('transition'); - } - }; + } }; module.exports = BrowserSupportCore; /***/ }, -/* 50 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3614,10 +3719,10 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var ExecutionEnvironment = __webpack_require__(36); + var ExecutionEnvironment = __webpack_require__(37); - var camelize = __webpack_require__(51); - var invariant = __webpack_require__(52); + var camelize = __webpack_require__(52); + var invariant = __webpack_require__(53); var memoized = {}; var prefixes = ['Webkit', 'ms', 'Moz', 'O']; @@ -3654,8 +3759,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = getVendorPrefixedName; /***/ }, -/* 51 */ -/***/ function(module, exports) { +/* 52 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -3691,7 +3796,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = camelize; /***/ }, -/* 52 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3705,7 +3810,7 @@ return /******/ (function(modules) { // webpackBootstrap * @providesModule invariant */ - "use strict"; + 'use strict'; /** * Use invariant() to assert state which your program assumes to be true. @@ -3745,7 +3850,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = invariant; /***/ }, -/* 53 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3763,13 +3868,13 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; var React = __webpack_require__(27); - var FixedDataTableRowBuffer = __webpack_require__(54); - var FixedDataTableRow = __webpack_require__(58); + var FixedDataTableRowBuffer = __webpack_require__(55); + var FixedDataTableRow = __webpack_require__(59); - var cx = __webpack_require__(47); - var emptyFunction = __webpack_require__(32); - var joinClasses = __webpack_require__(66); - var translateDOMPositionXY = __webpack_require__(48); + var cx = __webpack_require__(48); + var emptyFunction = __webpack_require__(33); + var joinClasses = __webpack_require__(67); + var translateDOMPositionXY = __webpack_require__(49); var PropTypes = React.PropTypes; @@ -3796,14 +3901,12 @@ return /******/ (function(modules) { // webpackBootstrap scrollLeft: PropTypes.number.isRequired, scrollableColumns: PropTypes.array.isRequired, showLastRowBorder: PropTypes.bool, - width: PropTypes.number.isRequired - }, + width: PropTypes.number.isRequired }, getInitialState: function getInitialState() /*object*/{ this._rowBuffer = new FixedDataTableRowBuffer(this.props.rowsCount, this.props.defaultRowHeight, this.props.height, this._getRowHeight); return { - rowsToRender: this._rowBuffer.getRows(this.props.firstRowIndex, this.props.firstRowOffset) - }; + rowsToRender: this._rowBuffer.getRows(this.props.firstRowIndex, this.props.firstRowOffset) }; }, componentWillMount: function componentWillMount() { @@ -3822,16 +3925,14 @@ return /******/ (function(modules) { // webpackBootstrap this._updateBuffer(); } else { this.setState({ - rowsToRender: this._rowBuffer.getRows(nextProps.firstRowIndex, nextProps.firstRowOffset) - }); + rowsToRender: this._rowBuffer.getRows(nextProps.firstRowIndex, nextProps.firstRowOffset) }); } }, _updateBuffer: function _updateBuffer() { if (this.isMounted()) { this.setState({ - rowsToRender: this._rowBuffer.getRowsWithUpdatedBuffer() - }); + rowsToRender: this._rowBuffer.getRowsWithUpdatedBuffer() }); } }, @@ -3876,8 +3977,7 @@ return /******/ (function(modules) { // webpackBootstrap onMouseLeave: props.onRowMouseLeave, className: joinClasses(rowClassNameGetter(rowIndex), cx('public/fixedDataTable/bodyRow'), cx({ 'fixedDataTableLayout/hasBottomBorder': hasBottomBorder, - 'public/fixedDataTable/hasBottomBorder': hasBottomBorder - })) + 'public/fixedDataTable/hasBottomBorder': hasBottomBorder })) }); } @@ -3885,8 +3985,7 @@ return /******/ (function(modules) { // webpackBootstrap var style = { position: 'absolute', - pointerEvents: props.isScrolling ? 'none' : 'auto' - }; + pointerEvents: props.isScrolling ? 'none' : 'auto' }; translateDOMPositionXY(style, 0, props.firstRowOffset - firstRowPosition + props.offsetTop); @@ -3899,13 +3998,12 @@ return /******/ (function(modules) { // webpackBootstrap _getRowHeight: function _getRowHeight( /*number*/index) /*number*/{ return this.props.rowHeightGetter ? this.props.rowHeightGetter(index) : this.props.defaultRowHeight; - } - }); + } }); module.exports = FixedDataTableBufferedRows; /***/ }, -/* 54 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { /** @@ -3926,10 +4024,10 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var IntegerBufferSet = __webpack_require__(55); + var IntegerBufferSet = __webpack_require__(56); - var clamp = __webpack_require__(57); - var invariant = __webpack_require__(52); + var clamp = __webpack_require__(58); + var invariant = __webpack_require__(53); var MIN_BUFFER_ROWS = 3; var MAX_BUFFER_ROWS = 6; @@ -3945,7 +4043,7 @@ return /******/ (function(modules) { // webpackBootstrap /*?function*/rowHeightGetter) { _classCallCheck(this, FixedDataTableRowBuffer); - invariant(defaultRowHeight !== 0, "defaultRowHeight musn't be equal 0 in FixedDataTableRowBuffer"); + invariant(defaultRowHeight !== 0, 'defaultRowHeight musn\'t be equal 0 in FixedDataTableRowBuffer'); this._bufferSet = new IntegerBufferSet(); this._defaultRowHeight = defaultRowHeight; @@ -4033,7 +4131,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = FixedDataTableRowBuffer; /***/ }, -/* 55 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4054,9 +4152,9 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var Heap = __webpack_require__(56); + var Heap = __webpack_require__(57); - var invariant = __webpack_require__(52); + var invariant = __webpack_require__(53); // Data structure that allows to store values and assign positions to them // in a way to minimize changing positions of stored values when new ones are @@ -4103,7 +4201,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'getNewPositionForValue', value: function getNewPositionForValue( /*number*/value) /*number*/{ - invariant(this._valueToPositionMap[value] === undefined, "Shouldn't try to find new position for value already stored in BufferSet"); + invariant(this._valueToPositionMap[value] === undefined, 'Shouldn\'t try to find new position for value already stored in BufferSet'); var newPosition = this._size; this._size++; this._pushToHeaps(newPosition, value); @@ -4116,7 +4214,7 @@ return /******/ (function(modules) { // webpackBootstrap /*number*/lowValue, /*number*/highValue, /*number*/newValue) /*?number*/{ - invariant(this._valueToPositionMap[newValue] === undefined, "Shouldn't try to replace values with value already stored value in " + "BufferSet"); + invariant(this._valueToPositionMap[newValue] === undefined, 'Shouldn\'t try to replace values with value already stored value in ' + 'BufferSet'); this._cleanHeaps(); if (this._smallValues.empty() || this._largeValues.empty()) { @@ -4153,8 +4251,7 @@ return /******/ (function(modules) { // webpackBootstrap value: function _pushToHeaps( /*number*/position, /*number*/value) { var element = { position: position, - value: value - }; + value: value }; // We can reuse the same object in both heaps, because we don't mutate them this._smallValues.push(element); this._largeValues.push(element); @@ -4218,8 +4315,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = IntegerBufferSet; /***/ }, -/* 56 */ -/***/ function(module, exports) { +/* 57 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -4236,16 +4333,15 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + /* * @param {*} a * @param {*} b * @return {boolean} */ - - var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - function defaultComparator(a, b) { return a < b; } @@ -4260,21 +4356,21 @@ return /******/ (function(modules) { // webpackBootstrap this._heapify(); } - /* - * @return {boolean} - */ - _createClass(Heap, [{ key: 'empty', + + /* + * @return {boolean} + */ value: function empty() { return this._size === 0; } + }, { + key: 'pop', /* * @return {*} */ - }, { - key: 'pop', value: function pop() { if (this._size === 0) { return; @@ -4292,31 +4388,31 @@ return /******/ (function(modules) { // webpackBootstrap return elt; } + }, { + key: 'push', /* * @param {*} item */ - }, { - key: 'push', value: function push(item) { this._items[this._size++] = item; this._bubbleUp(this._size - 1); } + }, { + key: 'size', /* * @return {number} */ - }, { - key: 'size', value: function size() { return this._size; } + }, { + key: 'peek', /* * @return {*} */ - }, { - key: 'peek', value: function peek() { if (this._size === 0) { return; @@ -4331,12 +4427,12 @@ return /******/ (function(modules) { // webpackBootstrap this._sinkDown(index); } } + }, { + key: '_bubbleUp', /* * @parent {number} index */ - }, { - key: '_bubbleUp', value: function _bubbleUp(index) { var elt = this._items[index]; while (index > 0) { @@ -4354,12 +4450,12 @@ return /******/ (function(modules) { // webpackBootstrap index = parentIndex; } } + }, { + key: '_sinkDown', /* * @parent {number} index */ - }, { - key: '_sinkDown', value: function _sinkDown(index) { var elt = this._items[index]; @@ -4402,8 +4498,8 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Heap; /***/ }, -/* 57 */ -/***/ function(module, exports) { +/* 58 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -4439,7 +4535,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = clamp; /***/ }, -/* 58 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4459,11 +4555,11 @@ return /******/ (function(modules) { // webpackBootstrap var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var React = __webpack_require__(27); - var FixedDataTableCellGroup = __webpack_require__(59); + var FixedDataTableCellGroup = __webpack_require__(60); - var cx = __webpack_require__(47); - var joinClasses = __webpack_require__(66); - var translateDOMPositionXY = __webpack_require__(48); + var cx = __webpack_require__(48); + var joinClasses = __webpack_require__(67); + var translateDOMPositionXY = __webpack_require__(49); var PropTypes = React.PropTypes; @@ -4530,22 +4626,19 @@ return /******/ (function(modules) { // webpackBootstrap * @param number|string columnKey * @param object event */ - onColumnResize: PropTypes.func - }, + onColumnResize: PropTypes.func }, render: function render() /*object*/{ var style = { width: this.props.width, - height: this.props.height - }; + height: this.props.height }; var className = cx({ 'fixedDataTableRowLayout/main': true, 'public/fixedDataTableRow/main': true, 'public/fixedDataTableRow/highlighted': this.props.index % 2 === 1, 'public/fixedDataTableRow/odd': this.props.index % 2 === 1, - 'public/fixedDataTableRow/even': this.props.index % 2 === 0 - }); + 'public/fixedDataTableRow/even': this.props.index % 2 === 0 }); var fixedColumnsWidth = this._getColumnsWidth(this.props.fixedColumns); var fixedColumns = React.createElement(FixedDataTableCellGroup, { @@ -4609,8 +4702,7 @@ return /******/ (function(modules) { // webpackBootstrap 'fixedDataTableRowLayout/fixedColumnsDivider': true, 'fixedDataTableRowLayout/columnsShadow': this.props.scrollLeft > 0, 'public/fixedDataTableRow/fixedColumnsDivider': true, - 'public/fixedDataTableRow/columnsShadow': this.props.scrollLeft > 0 - }); + 'public/fixedDataTableRow/columnsShadow': this.props.scrollLeft > 0 }); var style = { left: left, height: this.props.height @@ -4637,8 +4729,7 @@ return /******/ (function(modules) { // webpackBootstrap _onMouseLeave: function _onMouseLeave( /*object*/event) { this.props.onMouseLeave(event, this.props.index); - } - }); + } }); var FixedDataTableRow = React.createClass({ displayName: 'FixedDataTableRow', @@ -4666,15 +4757,13 @@ return /******/ (function(modules) { // webpackBootstrap /** * Width of the row. */ - width: PropTypes.number.isRequired - }, + width: PropTypes.number.isRequired }, render: function render() /*object*/{ var style = { width: this.props.width, height: this.props.height, - zIndex: this.props.zIndex ? this.props.zIndex : 0 - }; + zIndex: this.props.zIndex ? this.props.zIndex : 0 }; translateDOMPositionXY(style, 0, this.props.offsetTop); return React.createElement( @@ -4687,13 +4776,12 @@ return /******/ (function(modules) { // webpackBootstrap zIndex: undefined })) ); - } - }); + } }); module.exports = FixedDataTableRow; /***/ }, -/* 59 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4714,12 +4802,12 @@ return /******/ (function(modules) { // webpackBootstrap function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - var FixedDataTableHelper = __webpack_require__(60); + var FixedDataTableHelper = __webpack_require__(61); var React = __webpack_require__(27); - var FixedDataTableCell = __webpack_require__(64); + var FixedDataTableCell = __webpack_require__(65); - var cx = __webpack_require__(47); - var translateDOMPositionXY = __webpack_require__(48); + var cx = __webpack_require__(48); + var translateDOMPositionXY = __webpack_require__(49); var PropTypes = React.PropTypes; @@ -4752,8 +4840,7 @@ return /******/ (function(modules) { // webpackBootstrap width: PropTypes.number.isRequired, - zIndex: PropTypes.number.isRequired - }, + zIndex: PropTypes.number.isRequired }, render: function render() /*object*/{ var props = this.props; @@ -4776,8 +4863,7 @@ return /******/ (function(modules) { // webpackBootstrap height: props.height, position: 'absolute', width: contentWidth, - zIndex: props.zIndex - }; + zIndex: props.zIndex }; translateDOMPositionXY(style, -1 * DIR_SIGN * props.left, 0); return React.createElement( @@ -4824,8 +4910,7 @@ return /******/ (function(modules) { // webpackBootstrap width += columns[i].props.width; } return width; - } - }); + } }); var FixedDataTableCellGroup = React.createClass({ displayName: 'FixedDataTableCellGroup', @@ -4849,8 +4934,7 @@ return /******/ (function(modules) { // webpackBootstrap * Z-index on which the row will be displayed. Used e.g. for keeping * header and footer in front of other rows. */ - zIndex: PropTypes.number.isRequired - }, + zIndex: PropTypes.number.isRequired }, shouldComponentUpdate: function shouldComponentUpdate( /*object*/nextProps) /*boolean*/{ return !nextProps.isScrolling || this.props.rowIndex !== nextProps.rowIndex || this.props.left !== nextProps.left; @@ -4858,8 +4942,7 @@ return /******/ (function(modules) { // webpackBootstrap getDefaultProps: function getDefaultProps() /*object*/{ return { - offsetLeft: 0 - }; + offsetLeft: 0 }; }, render: function render() /*object*/{ @@ -4869,8 +4952,7 @@ return /******/ (function(modules) { // webpackBootstrap var props = _objectWithoutProperties(_props, ['offsetLeft']); var style = { - height: props.height - }; + height: props.height }; if (DIR_SIGN === 1) { style.left = offsetLeft; @@ -4899,13 +4981,12 @@ return /******/ (function(modules) { // webpackBootstrap /*string|number*/columnKey, /*object*/event) { this.props.onColumnResize && this.props.onColumnResize(this.props.offsetLeft, left - this.props.left + width, width, minWidth, maxWidth, columnKey, event); - } - }); + } }); module.exports = FixedDataTableCellGroup; /***/ }, -/* 60 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4922,10 +5003,10 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Locale = __webpack_require__(61); + var Locale = __webpack_require__(62); var React = __webpack_require__(27); - var FixedDataTableColumnGroup = __webpack_require__(62); - var FixedDataTableColumn = __webpack_require__(63); + var FixedDataTableColumnGroup = __webpack_require__(63); + var FixedDataTableColumn = __webpack_require__(64); var DIR_SIGN = Locale.isRTL() ? -1 : +1; // A cell up to 5px outside of the visible area will still be considered visible @@ -4990,8 +5071,7 @@ return /******/ (function(modules) { // webpackBootstrap // new children if (haveColumnsChanged) { newChild = React.cloneElement(originalChild, { - children: newColumns - }); + children: newColumns }); } } else if (originalChild.type === FixedDataTableColumn) { newChild = callback(originalChild); @@ -5008,14 +5088,13 @@ return /******/ (function(modules) { // webpackBootstrap CELL_VISIBILITY_TOLERANCE: CELL_VISIBILITY_TOLERANCE, renderToString: renderToString, forEachColumn: forEachColumn, - mapColumns: mapColumns - }; + mapColumns: mapColumns }; module.exports = FixedDataTableHelper; /***/ }, -/* 61 */ -/***/ function(module, exports) { +/* 62 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -5036,14 +5115,14 @@ return /******/ (function(modules) { // webpackBootstrap return false; }, getDirection: function getDirection() { - return 'LTR'; + return "LTR"; } }; module.exports = Locale; /***/ }, -/* 62 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5073,8 +5152,7 @@ return /******/ (function(modules) { // webpackBootstrap displayName: 'TransitionColumnGroup', statics: { - __TableColumnGroup__: true - }, + __TableColumnGroup__: true }, render: function render() { if (true) { @@ -5087,7 +5165,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = TransitionColumnGroup; /***/ }, -/* 63 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5131,7 +5209,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = TransitionColumn; /***/ }, -/* 64 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5150,11 +5228,11 @@ return /******/ (function(modules) { // webpackBootstrap function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - var FixedDataTableCellDefault = __webpack_require__(65); - var FixedDataTableHelper = __webpack_require__(60); + var FixedDataTableCellDefault = __webpack_require__(66); + var FixedDataTableHelper = __webpack_require__(61); var React = __webpack_require__(27); - var cx = __webpack_require__(47); - var joinClasses = __webpack_require__(66); + var cx = __webpack_require__(48); + var joinClasses = __webpack_require__(67); var DIR_SIGN = FixedDataTableHelper.DIR_SIGN; @@ -5162,8 +5240,7 @@ return /******/ (function(modules) { // webpackBootstrap var DEFAULT_PROPS = { align: 'left', - highlighted: false - }; + highlighted: false }; var FixedDataTableCell = React.createClass({ displayName: 'FixedDataTableCell', @@ -5209,8 +5286,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * The left offset in pixels of the cell. */ - left: PropTypes.number - }, + left: PropTypes.number }, shouldComponentUpdate: function shouldComponentUpdate(nextProps) { return !nextProps.isScrolling || this.props.rowIndex !== nextProps.rowIndex; @@ -5230,8 +5306,7 @@ return /******/ (function(modules) { // webpackBootstrap var style = { height: height, - width: width - }; + width: width }; if (DIR_SIGN === 1) { style.left = props.left; @@ -5246,8 +5321,7 @@ return /******/ (function(modules) { // webpackBootstrap 'fixedDataTableCellLayout/alignCenter': props.align === 'center', 'public/fixedDataTableCell/alignRight': props.align === 'right', 'public/fixedDataTableCell/highlighted': props.highlighted, - 'public/fixedDataTableCell/main': true - }), props.className); + 'public/fixedDataTableCell/main': true }), props.className); var columnResizerComponent; if (props.onColumnResize) { @@ -5300,13 +5374,12 @@ return /******/ (function(modules) { // webpackBootstrap _onColumnResizerMouseDown: function _onColumnResizerMouseDown( /*object*/event) { this.props.onColumnResize(this.props.left, this.props.width, this.props.minWidth, this.props.maxWidth, this.props.columnKey, event); - } - }); + } }); module.exports = FixedDataTableCell; /***/ }, -/* 65 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5329,20 +5402,54 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(27); - var cx = __webpack_require__(47); - var joinClasses = __webpack_require__(66); + var cx = __webpack_require__(48); + var joinClasses = __webpack_require__(67); var PropTypes = React.PropTypes; + /** + * Component that handles default cell layout and styling. + * + * All props unless specified below will be set onto the top level `div` + * rendered by the cell. + * + * Example usage via from a `Column`: + * ``` + * const MyColumn = ( + * ( + * + * Cell number: {rowIndex} + * + * )} + * width={100} + * /> + * ); + * ``` + */ var FixedDataTableCellDefault = React.createClass({ displayName: 'FixedDataTableCellDefault', propTypes: { + + /** + * Outer height of the cell. + */ height: PropTypes.number, + + /** + * Outer width of the cell. + */ width: PropTypes.number, - style: PropTypes.object, - className: PropTypes.string - }, + + /** + * Optional prop that if specified on the `Column` will be passed to the + * cell. It can be used to uniquely identify which column is the cell is in. + */ + columnKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) }, render: function render() { var _props = this.props; @@ -5350,17 +5457,17 @@ return /******/ (function(modules) { // webpackBootstrap var width = _props.width; var style = _props.style; var className = _props.className; + var children = _props.children; - var props = _objectWithoutProperties(_props, ['height', 'width', 'style', 'className']); + var props = _objectWithoutProperties(_props, ['height', 'width', 'style', 'className', 'children']); var innerStyle = _extends({ height: height, - width: width - }, style); + width: width }, style); return React.createElement( 'div', - _extends({}, this.props, { + _extends({}, props, { className: joinClasses(cx('fixedDataTableCellLayout/wrap1'), cx('public/fixedDataTableCell/wrap1'), className), style: innerStyle }), React.createElement( @@ -5374,19 +5481,18 @@ return /******/ (function(modules) { // webpackBootstrap React.createElement( 'div', { className: cx('public/fixedDataTableCell/cellContent') }, - props.children + children ) ) ) ); - } - }); + } }); module.exports = FixedDataTableCellDefault; /***/ }, -/* 66 */ -/***/ function(module, exports) { +/* 67 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-2015, Facebook, Inc. @@ -5429,7 +5535,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = joinClasses; /***/ }, -/* 67 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5450,13 +5556,13 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var DOMMouseMoveTracker = __webpack_require__(40); - var Locale = __webpack_require__(61); + var DOMMouseMoveTracker = __webpack_require__(41); + var Locale = __webpack_require__(62); var React = __webpack_require__(27); - var ReactComponentWithPureRenderMixin = __webpack_require__(30); + var ReactComponentWithPureRenderMixin = __webpack_require__(31); - var clamp = __webpack_require__(57); - var cx = __webpack_require__(47); + var clamp = __webpack_require__(58); + var cx = __webpack_require__(48); var PropTypes = React.PropTypes; @@ -5515,8 +5621,7 @@ return /******/ (function(modules) { // webpackBootstrap /** * Column key for the column being resized. */ - columnKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) - }, + columnKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) }, getInitialState: function getInitialState() /*object*/{ return { @@ -5547,8 +5652,7 @@ return /******/ (function(modules) { // webpackBootstrap render: function render() /*object*/{ var style = { width: this.state.width, - height: this.props.height - }; + height: this.props.height }; if (Locale.isRTL()) { style.right = this.props.leftOffset; } else { @@ -5560,8 +5664,7 @@ return /******/ (function(modules) { // webpackBootstrap className: cx({ 'fixedDataTableColumnResizerLineLayout/main': true, 'fixedDataTableColumnResizerLineLayout/hiddenElem': !this.props.visible, - 'public/fixedDataTableColumnResizerLine/main': true - }), + 'public/fixedDataTableColumnResizerLine/main': true }), style: style }, React.createElement('div', { className: cx('fixedDataTableColumnResizerLineLayout/mouseArea'), @@ -5588,13 +5691,12 @@ return /******/ (function(modules) { // webpackBootstrap _onColumnResizeEnd: function _onColumnResizeEnd() { this._mouseMoveTracker.releaseMouseMoves(); this.props.onColumnResizeEnd(this.state.width, this.props.columnKey); - } - }); + } }); module.exports = FixedDataTableColumnResizeHandle; /***/ }, -/* 68 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { /** @@ -5615,16 +5717,15 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var PrefixIntervalTree = __webpack_require__(69); - var clamp = __webpack_require__(57); + var PrefixIntervalTree = __webpack_require__(70); + var clamp = __webpack_require__(58); var BUFFER_ROWS = 5; var NO_ROWS_SCROLL_RESULT = { index: 0, offset: 0, position: 0, - contentHeight: 0 - }; + contentHeight: 0 }; var FixedDataTableScrollHelper = (function () { function FixedDataTableScrollHelper( @@ -5789,8 +5890,7 @@ return /******/ (function(modules) { // webpackBootstrap index: firstRowIndex, offset: firstRowOffset, position: this._position, - contentHeight: this._contentHeight - }; + contentHeight: this._contentHeight }; } }, { key: '_getRowAtEndPosition', @@ -5830,8 +5930,7 @@ return /******/ (function(modules) { // webpackBootstrap index: 0, offset: 0, position: this._position, - contentHeight: this._contentHeight - }; + contentHeight: this._contentHeight }; } else if (position >= this._contentHeight - this._viewportHeight) { // If position is equal to or greater than max scroll value, we need // to make sure to have bottom border of last row visible. @@ -5852,22 +5951,23 @@ return /******/ (function(modules) { // webpackBootstrap index: firstRowIndex, offset: firstRowOffset, position: this._position, - contentHeight: this._contentHeight - }; + contentHeight: this._contentHeight }; } + }, { + key: 'scrollToRow', /** * Allows to scroll to selected row with specified offset. It always * brings that row to top of viewport with that offset */ - }, { - key: 'scrollToRow', value: function scrollToRow( /*number*/rowIndex, /*number*/offset) /*object*/{ rowIndex = clamp(rowIndex, 0, Math.max(this._rowCount - 1, 0)); offset = clamp(offset, -this._storedHeights[rowIndex], 0); var firstRow = this._rowOffsets.sumUntil(rowIndex); return this.scrollTo(firstRow - offset); } + }, { + key: 'scrollRowIntoView', /** * Allows to scroll to selected row by bringing it to viewport with minimal @@ -5877,8 +5977,6 @@ return /******/ (function(modules) { // webpackBootstrap * below end of viewport, it will be scrolled up to be fully visible on the * bottom of viewport. */ - }, { - key: 'scrollRowIntoView', value: function scrollRowIntoView( /*number*/rowIndex) /*object*/{ rowIndex = clamp(rowIndex, 0, Math.max(this._rowCount - 1, 0)); var rowBegin = this._rowOffsets.sumUntil(rowIndex); @@ -5899,7 +5997,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = FixedDataTableScrollHelper; /***/ }, -/* 69 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/** @@ -5911,7 +6009,7 @@ return /******/ (function(modules) { // webpackBootstrap * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PrefixIntervalTree - * + * @flow * @typechecks */ @@ -5921,7 +6019,7 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var invariant = __webpack_require__(52); + var invariant = __webpack_require__(53); var parent = function parent(node) { return Math.floor(node / 2); @@ -6005,12 +6103,12 @@ return /******/ (function(modules) { // webpackBootstrap value: function getSize() { return this._size; } + }, { + key: 'sumUntil', /** * Returns the sum get(0) + get(1) + ... + get(end - 1). */ - }, { - key: 'sumUntil', value: function sumUntil(end) { invariant(0 <= end && end < this._size + 1, 'Index out of range %s', end); @@ -6028,33 +6126,33 @@ return /******/ (function(modules) { // webpackBootstrap return sum; } + }, { + key: 'sumTo', /** * Returns the sum get(0) + get(1) + ... + get(inclusiveEnd). */ - }, { - key: 'sumTo', value: function sumTo(inclusiveEnd) { invariant(0 <= inclusiveEnd && inclusiveEnd < this._size, 'Index out of range %s', inclusiveEnd); return this.sumUntil(inclusiveEnd + 1); } + }, { + key: 'sum', /** * Returns the sum get(begin) + get(begin + 1) + ... + get(end - 1). */ - }, { - key: 'sum', value: function sum(begin, end) { invariant(begin <= end, 'Begin must precede end'); return this.sumUntil(end) - this.sumUntil(begin); } + }, { + key: 'greatestLowerBound', /** * Returns the smallest i such that 0 <= i <= size and sumUntil(i) <= t, or * -1 if no such i exists. */ - }, { - key: 'greatestLowerBound', value: function greatestLowerBound(t) { if (t < 0) { return -1; @@ -6077,13 +6175,13 @@ return /******/ (function(modules) { // webpackBootstrap return node - this._half; } + }, { + key: 'greatestStrictLowerBound', /** * Returns the smallest i such that 0 <= i <= size and sumUntil(i) < t, or * -1 if no such i exists. */ - }, { - key: 'greatestStrictLowerBound', value: function greatestStrictLowerBound(t) { if (t <= 0) { return -1; @@ -6106,23 +6204,23 @@ return /******/ (function(modules) { // webpackBootstrap return node - this._half; } + }, { + key: 'leastUpperBound', /** * Returns the smallest i such that 0 <= i <= size and t <= sumUntil(i), or * size + 1 if no such i exists. */ - }, { - key: 'leastUpperBound', value: function leastUpperBound(t) { return this.greatestStrictLowerBound(t) + 1; } + }, { + key: 'leastStrictUpperBound', /** * Returns the smallest i such that 0 <= i <= size and t < sumUntil(i), or * size + 1 if no such i exists. */ - }, { - key: 'leastStrictUpperBound', value: function leastStrictUpperBound(t) { return this.greatestLowerBound(t) + 1; } @@ -6162,147 +6260,9 @@ return /******/ (function(modules) { // webpackBootstrap */ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * 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. - * - * @providesModule FixedDataTableWidthHelper - * @typechecks - */ - - 'use strict'; - - var React = __webpack_require__(27); - - function getTotalWidth( /*array*/columns) /*number*/{ - var totalWidth = 0; - for (var i = 0; i < columns.length; ++i) { - totalWidth += columns[i].props.width; - } - return totalWidth; - } - - function getTotalFlexGrow( /*array*/columns) /*number*/{ - var totalFlexGrow = 0; - for (var i = 0; i < columns.length; ++i) { - totalFlexGrow += columns[i].props.flexGrow || 0; - } - return totalFlexGrow; - } - - function distributeFlexWidth( - /*array*/columns, - /*number*/flexWidth) /*object*/{ - if (flexWidth <= 0) { - return { - columns: columns, - width: getTotalWidth(columns) - }; - } - var remainingFlexGrow = getTotalFlexGrow(columns); - var remainingFlexWidth = flexWidth; - var newColumns = []; - var totalWidth = 0; - for (var i = 0; i < columns.length; ++i) { - var column = columns[i]; - if (!column.props.flexGrow) { - totalWidth += column.props.width; - newColumns.push(column); - continue; - } - var columnFlexWidth = Math.floor(column.props.flexGrow / remainingFlexGrow * remainingFlexWidth); - var newColumnWidth = Math.floor(column.props.width + columnFlexWidth); - totalWidth += newColumnWidth; - - remainingFlexGrow -= column.props.flexGrow; - remainingFlexWidth -= columnFlexWidth; - - newColumns.push(React.cloneElement(column, { width: newColumnWidth })); - } - - return { - columns: newColumns, - width: totalWidth - }; - } - - function adjustColumnGroupWidths( - /*array*/columnGroups, - /*number*/expectedWidth) /*object*/{ - var allColumns = []; - var i; - for (i = 0; i < columnGroups.length; ++i) { - React.Children.forEach(columnGroups[i].props.children, function (column) { - allColumns.push(column); - }); - } - var columnsWidth = getTotalWidth(allColumns); - var remainingFlexGrow = getTotalFlexGrow(allColumns); - var remainingFlexWidth = Math.max(expectedWidth - columnsWidth, 0); - - var newAllColumns = []; - var newColumnGroups = []; - - for (i = 0; i < columnGroups.length; ++i) { - var columnGroup = columnGroups[i]; - var currentColumns = []; - - React.Children.forEach(columnGroup.props.children, function (column) { - currentColumns.push(column); - }); - - var columnGroupFlexGrow = getTotalFlexGrow(currentColumns); - var columnGroupFlexWidth = Math.floor(columnGroupFlexGrow / remainingFlexGrow * remainingFlexWidth); - - var newColumnSettings = distributeFlexWidth(currentColumns, columnGroupFlexWidth); - - remainingFlexGrow -= columnGroupFlexGrow; - remainingFlexWidth -= columnGroupFlexWidth; - - for (var j = 0; j < newColumnSettings.columns.length; ++j) { - newAllColumns.push(newColumnSettings.columns[j]); - } - - newColumnGroups.push(React.cloneElement(columnGroup, { width: newColumnSettings.width })); - } - - return { - columns: newAllColumns, - columnGroups: newColumnGroups - }; - } - - function adjustColumnWidths( - /*array*/columns, - /*number*/expectedWidth) /*array*/{ - var columnsWidth = getTotalWidth(columns); - if (columnsWidth < expectedWidth) { - return distributeFlexWidth(columns, expectedWidth - columnsWidth).columns; - } - return columns; - } - - var FixedDataTableWidthHelper = { - getTotalWidth: getTotalWidth, - getTotalFlexGrow: getTotalFlexGrow, - distributeFlexWidth: distributeFlexWidth, - adjustColumnWidths: adjustColumnWidths, - adjustColumnGroupWidths: adjustColumnGroupWidths - }; - - module.exports = FixedDataTableWidthHelper; - /***/ }, /* 71 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -6374,7 +6334,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 72 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { /** * Copyright (c) 2015, Facebook, Inc. @@ -6386,7 +6346,7 @@ return /******/ (function(modules) { // webpackBootstrap * * @providesModule shallowEqual * @typechecks - * + * @flow */ 'use strict'; @@ -6576,7 +6536,7 @@ return /******/ (function(modules) { // webpackBootstrap * has a flex grow, once you resize the column this will be set to 0. * * This property only provides the UI for the column resizing. If this - * is set to true, you will need ot se the onColumnResizeEndCallback table + * is set to true, you will need to set the onColumnResizeEndCallback table * property and render your columns appropriately. */ isResizable: PropTypes.bool, @@ -6591,14 +6551,12 @@ return /******/ (function(modules) { // webpackBootstrap * Setting the property to false will keep previous behaviour and keep * cell rendered if the row it belongs to is visible. */ - allowCellsRecycling: PropTypes.bool - }, + allowCellsRecycling: PropTypes.bool }, getDefaultProps: function getDefaultProps() /*object*/{ return { allowCellsRecycling: false, - fixed: false - }; + fixed: false }; }, render: function render() { @@ -6606,8 +6564,7 @@ return /******/ (function(modules) { // webpackBootstrap throw new Error('Component should never render'); } return null; - } - }); + } }); module.exports = FixedDataTableColumn; @@ -6640,8 +6597,7 @@ return /******/ (function(modules) { // webpackBootstrap displayName: 'FixedDataTableColumnGroup', statics: { - __TableColumnGroup__: true - }, + __TableColumnGroup__: true }, propTypes: { /** @@ -6673,14 +6629,11 @@ return /******/ (function(modules) { // webpackBootstrap * You can also pass in a function that returns a react elemnt, with the * props object above passed in as the first parameter. */ - header: PropTypes.oneOfType([PropTypes.node, PropTypes.func]) - - }, + header: PropTypes.oneOfType([PropTypes.node, PropTypes.func]) }, getDefaultProps: function getDefaultProps() /*object*/{ return { - fixed: false - }; + fixed: false }; }, render: function render() { @@ -6688,8 +6641,7 @@ return /******/ (function(modules) { // webpackBootstrap throw new Error('Component should never render'); } return null; - } - }); + } }); module.exports = FixedDataTableColumnGroup; @@ -6723,11 +6675,11 @@ return /******/ (function(modules) { // webpackBootstrap var React = __webpack_require__(27); var PropTypes = React.PropTypes; - var cx = __webpack_require__(47); - var joinClasses = __webpack_require__(66); + var cx = __webpack_require__(48); + var joinClasses = __webpack_require__(67); var shallowEqual = __webpack_require__(72); - var CellDefault = __webpack_require__(65); + var CellDefault = __webpack_require__(66); var TransitionCell = React.createClass({ displayName: 'TransitionCell', @@ -6749,7 +6701,6 @@ return /******/ (function(modules) { // webpackBootstrap isHeaderCell: PropTypes.bool, // header isFooterCell: PropTypes.bool }, - // footer shouldComponentUpdate: function shouldComponentUpdate( /*object*/nextProps) { var update = false; var rowData; @@ -6867,8 +6818,7 @@ return /******/ (function(modules) { // webpackBootstrap var innerStyle = _extends({ height: props.height, - width: props.width - }, props.style); + width: props.width }, props.style); return React.createElement( 'div', @@ -6891,6 +6841,7 @@ return /******/ (function(modules) { // webpackBootstrap }); module.exports = TransitionCell; + // footer /***/ } /******/ ]) diff --git a/dist/fixed-data-table.min.css b/dist/fixed-data-table.min.css index 51e5163f..e2f1a7b9 100644 --- a/dist/fixed-data-table.min.css +++ b/dist/fixed-data-table.min.css @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * All rights reserved. @@ -9,4 +9,4 @@ * of patent rights can be found in the PATENTS file in the same directory. */ -.fixedDataTableCellGroupLayout_cellGroup{-webkit-backface-visibility:hidden;backface-visibility:hidden;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.fixedDataTableCellGroupLayout_cellGroup>.public_fixedDataTableCell_main{display:inline-block;vertical-align:top;white-space:normal}.fixedDataTableCellGroupLayout_cellGroupWrapper{position:absolute;top:0}.fixedDataTableCellLayout_main{border-right-style:solid;border-width:0 1px 0 0;box-sizing:border-box;display:block;overflow:hidden;position:absolute;white-space:normal}.fixedDataTableCellLayout_lastChild{border-width:0 1px 1px 0}.fixedDataTableCellLayout_alignRight{text-align:right}.fixedDataTableCellLayout_alignCenter{text-align:center}.fixedDataTableCellLayout_wrap1{display:table}.fixedDataTableCellLayout_wrap2{display:table-row}.fixedDataTableCellLayout_wrap3{display:table-cell;vertical-align:middle}.fixedDataTableCellLayout_columnResizerContainer{position:absolute;right:0;width:6px;z-index:1}.fixedDataTableCellLayout_columnResizerContainer:hover{cursor:ew-resize}.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob{visibility:visible}.fixedDataTableCellLayout_columnResizerKnob{position:absolute;right:0;visibility:hidden;width:4px}.fixedDataTableColumnResizerLineLayout_mouseArea{cursor:ew-resize;position:absolute;right:-5px;width:12px}.fixedDataTableColumnResizerLineLayout_main{border-right-style:solid;border-right-width:1px;box-sizing:border-box;position:absolute;z-index:10}body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main,.fixedDataTableColumnResizerLineLayout_hiddenElem{display:none!important}.fixedDataTableLayout_main{border-style:solid;border-width:1px;box-sizing:border-box;overflow:hidden;position:relative}.fixedDataTableLayout_header,.fixedDataTableLayout_hasBottomBorder{border-bottom-style:solid;border-bottom-width:1px}.fixedDataTableLayout_footer .public_fixedDataTableCell_main{border-top-style:solid;border-top-width:1px}.fixedDataTableLayout_topShadow,.fixedDataTableLayout_bottomShadow{height:4px;left:0;position:absolute;right:0;z-index:1}.fixedDataTableLayout_bottomShadow{margin-top:-4px}.fixedDataTableLayout_rowsContainer{overflow:hidden;position:relative}.fixedDataTableLayout_horizontalScrollbar{bottom:0;position:absolute}.fixedDataTableRowLayout_main{box-sizing:border-box;overflow:hidden;position:absolute;top:0}.fixedDataTableRowLayout_body{left:0;position:absolute;top:0}.fixedDataTableRowLayout_fixedColumnsDivider{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-left-style:solid;border-left-width:1px;left:0;position:absolute;top:0;width:0}.fixedDataTableRowLayout_columnsShadow{width:4px}.fixedDataTableRowLayout_rowWrapper{position:absolute;top:0}.ScrollbarLayout_main{box-sizing:border-box;outline:none;overflow:hidden;position:absolute;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ScrollbarLayout_mainVertical{bottom:0;right:0;top:0;-webkit-transition-property:background-color width;transition-property:background-color width;width:15px}.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive,.ScrollbarLayout_mainVertical:hover{width:17px}.ScrollbarLayout_mainHorizontal{bottom:0;height:15px;left:0;-webkit-transition-property:background-color height;transition-property:background-color height}.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,.ScrollbarLayout_mainHorizontal:hover{height:17px}.ScrollbarLayout_face{left:0;overflow:hidden;position:absolute;z-index:1}.ScrollbarLayout_face:after{border-radius:6px;content:'';display:block;position:absolute;-webkit-transition:background-color 250ms ease;transition:background-color 250ms ease}.ScrollbarLayout_faceHorizontal{bottom:0;left:0;top:0}.ScrollbarLayout_faceHorizontal:after{bottom:4px;left:0;top:4px;width:100%}.ScrollbarLayout_faceVertical{left:0;right:0;top:0}.ScrollbarLayout_faceVertical:after{height:100%;left:4px;right:4px;top:0}.public_fixedDataTable_main,.public_fixedDataTable_header,.public_fixedDataTable_hasBottomBorder{border-color:#d3d3d3}.public_fixedDataTable_header .public_fixedDataTableCell_main{font-weight:700}.public_fixedDataTable_header,.public_fixedDataTable_header .public_fixedDataTableCell_main{background-color:#f6f7f8;background-image:-webkit-linear-gradient(#fff,#efefef);background-image:linear-gradient(#fff,#efefef)}.public_fixedDataTable_footer .public_fixedDataTableCell_main{background-color:#f6f7f8;border-color:#d3d3d3}.public_fixedDataTable_topShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x}.public_fixedDataTable_bottomShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x}.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal{background-color:#fff}.public_fixedDataTableCell_main{background-color:#fff;border-color:#d3d3d3}.public_fixedDataTableCell_highlighted{background-color:#f4f4f4}.public_fixedDataTableCell_cellContent{padding:8px}.public_fixedDataTableCell_columnResizerKnob{background-color:#0284ff}.public_fixedDataTableColumnResizerLine_main{border-color:#0284ff}.public_fixedDataTableRow_main{background-color:#fff}.public_fixedDataTableRow_highlighted,.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main{background-color:#f6f7f8}.public_fixedDataTableRow_fixedColumnsDivider{border-color:#d3d3d3}.public_fixedDataTableRow_columnsShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y}.public_Scrollbar_main.public_Scrollbar_mainActive,.public_Scrollbar_main:hover{background-color:rgba(255,255,255,.8)}.public_Scrollbar_mainOpaque,.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,.public_Scrollbar_mainOpaque:hover{background-color:#fff}.public_Scrollbar_face:after{background-color:#c2c2c2}.public_Scrollbar_main:hover .public_Scrollbar_face:after,.public_Scrollbar_mainActive .public_Scrollbar_face:after,.public_Scrollbar_faceActive:after{background-color:#7d7d7d} \ No newline at end of file +.public_Scrollbar_main.public_Scrollbar_mainActive,.public_Scrollbar_main:hover{background-color:rgba(255,255,255,.8)}.public_Scrollbar_mainOpaque,.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,.public_Scrollbar_mainOpaque:hover{background-color:#fff}.public_Scrollbar_face:after{background-color:#c2c2c2}.public_Scrollbar_main:hover .public_Scrollbar_face:after,.public_Scrollbar_mainActive .public_Scrollbar_face:after,.public_Scrollbar_faceActive:after{background-color:#7d7d7d}.public_fixedDataTable_main,.public_fixedDataTable_header,.public_fixedDataTable_hasBottomBorder{border-color:#d3d3d3}.public_fixedDataTable_header .public_fixedDataTableCell_main{font-weight:700}.public_fixedDataTable_header,.public_fixedDataTable_header .public_fixedDataTableCell_main{background-color:#f6f7f8;background-image:-webkit-linear-gradient(#fff,#efefef);background-image:linear-gradient(#fff,#efefef)}.public_fixedDataTable_footer .public_fixedDataTableCell_main{background-color:#f6f7f8;border-color:#d3d3d3}.public_fixedDataTable_topShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x}.public_fixedDataTable_bottomShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x}.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal{background-color:#fff}.public_fixedDataTableCell_main{background-color:#fff;border-color:#d3d3d3}.public_fixedDataTableCell_highlighted{background-color:#f4f4f4}.public_fixedDataTableCell_cellContent{padding:8px}.public_fixedDataTableCell_columnResizerKnob{background-color:#0284ff}.public_fixedDataTableColumnResizerLine_main{border-color:#0284ff}.public_fixedDataTableRow_main{background-color:#fff}.public_fixedDataTableRow_highlighted,.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main{background-color:#f6f7f8}.public_fixedDataTableRow_fixedColumnsDivider{border-color:#d3d3d3}.public_fixedDataTableRow_columnsShadow{background:0 0 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y}.ScrollbarLayout_main{box-sizing:border-box;outline:none;overflow:hidden;position:absolute;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ScrollbarLayout_mainVertical{bottom:0;right:0;top:0;-webkit-transition-property:background-color width;transition-property:background-color width;width:15px}.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive,.ScrollbarLayout_mainVertical:hover{width:17px}.ScrollbarLayout_mainHorizontal{bottom:0;height:15px;left:0;-webkit-transition-property:background-color height;transition-property:background-color height}.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,.ScrollbarLayout_mainHorizontal:hover{height:17px}.ScrollbarLayout_face{left:0;overflow:hidden;position:absolute;z-index:1}.ScrollbarLayout_face:after{border-radius:6px;content:'';display:block;position:absolute;-webkit-transition:background-color 250ms ease;transition:background-color 250ms ease}.ScrollbarLayout_faceHorizontal{bottom:0;left:0;top:0}.ScrollbarLayout_faceHorizontal:after{bottom:4px;left:0;top:4px;width:100%}.ScrollbarLayout_faceVertical{left:0;right:0;top:0}.ScrollbarLayout_faceVertical:after{height:100%;left:4px;right:4px;top:0}.fixedDataTableCellGroupLayout_cellGroup{-webkit-backface-visibility:hidden;backface-visibility:hidden;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.fixedDataTableCellGroupLayout_cellGroup>.public_fixedDataTableCell_main{display:inline-block;vertical-align:top;white-space:normal}.fixedDataTableCellGroupLayout_cellGroupWrapper{position:absolute;top:0}.fixedDataTableCellLayout_main{border-right-style:solid;border-width:0 1px 0 0;box-sizing:border-box;display:block;overflow:hidden;position:absolute;white-space:normal}.fixedDataTableCellLayout_lastChild{border-width:0 1px 1px 0}.fixedDataTableCellLayout_alignRight{text-align:right}.fixedDataTableCellLayout_alignCenter{text-align:center}.fixedDataTableCellLayout_wrap1{display:table}.fixedDataTableCellLayout_wrap2{display:table-row}.fixedDataTableCellLayout_wrap3{display:table-cell;vertical-align:middle}.fixedDataTableCellLayout_columnResizerContainer{position:absolute;right:0;width:6px;z-index:1}.fixedDataTableCellLayout_columnResizerContainer:hover{cursor:ew-resize}.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob{visibility:visible}.fixedDataTableCellLayout_columnResizerKnob{position:absolute;right:0;visibility:hidden;width:4px}.fixedDataTableColumnResizerLineLayout_mouseArea{cursor:ew-resize;position:absolute;right:-5px;width:12px}.fixedDataTableColumnResizerLineLayout_main{border-right-style:solid;border-right-width:1px;box-sizing:border-box;position:absolute;z-index:10}body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main,.fixedDataTableColumnResizerLineLayout_hiddenElem{display:none!important}.fixedDataTableLayout_main{border-style:solid;border-width:1px;box-sizing:border-box;overflow:hidden;position:relative}.fixedDataTableLayout_header,.fixedDataTableLayout_hasBottomBorder{border-bottom-style:solid;border-bottom-width:1px}.fixedDataTableLayout_footer .public_fixedDataTableCell_main{border-top-style:solid;border-top-width:1px}.fixedDataTableLayout_topShadow,.fixedDataTableLayout_bottomShadow{height:4px;left:0;position:absolute;right:0;z-index:1}.fixedDataTableLayout_bottomShadow{margin-top:-4px}.fixedDataTableLayout_rowsContainer{overflow:hidden;position:relative}.fixedDataTableLayout_horizontalScrollbar{bottom:0;position:absolute}.fixedDataTableRowLayout_main{box-sizing:border-box;overflow:hidden;position:absolute;top:0}.fixedDataTableRowLayout_body{left:0;position:absolute;top:0}.fixedDataTableRowLayout_fixedColumnsDivider{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-left-style:solid;border-left-width:1px;left:0;position:absolute;top:0;width:0}.fixedDataTableRowLayout_columnsShadow{width:4px}.fixedDataTableRowLayout_rowWrapper{position:absolute;top:0} \ No newline at end of file diff --git a/dist/fixed-data-table.min.js b/dist/fixed-data-table.min.js index 0961c4bd..f237873d 100644 --- a/dist/fixed-data-table.min.js +++ b/dist/fixed-data-table.min.js @@ -1,5 +1,5 @@ /** - * FixedDataTable v0.6.0-rc1 + * FixedDataTable v0.6.0 * * Copyright (c) 2015, Facebook, Inc. * 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),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(65),r=o(63),s=o(62),a={Cell:n,Column:r,ColumnGroup:s,Table:i};a.version="0.6.0-rc1",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;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;(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*x-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.ownerHeightt.ownerHeight||t.scrollY or "),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:y;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 R=b.bodyFixedColumns.length;if(this._columnToScrollTo>=R){var T,D,S=0;for(T=0;TT;++T)D=b.bodyScrollableColumns[T],M+=D.props.width;var E=e.width-S,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*x,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;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 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},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),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=S},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;oi?-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)):(e={top:c,height:o},t={height:a-_},f(t,0,w)),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)},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()},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;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=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=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()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;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";var i=Object.assign||function(e){for(var t=1;t0){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},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),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;tn;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),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 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 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(65),r=o(60),s=o(27),a=o(47),l=o(66),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;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";var i=o(40),n=o(61),r=o(27),s=o(30),a=o(57),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;oa;++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=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&&ie?(n+=e,e=0):(e-=a,n+=a,i++),ie){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=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(tt;)t*=2;return t}var r=function(){function e(e,t){for(var o=0;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;o0;--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=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=u}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(e){for(var t=0,o=0;o=t)return{columns:e,width:i(e)};for(var o=n(e),r=t,s=[],a=0,u=0;uo?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"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var o=Object.keys(e),n=Object.keys(t);if(o.length!==n.length)return!1;for(var r=i.bind(t),s=0;s 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 should never render")}});e.exports=r},function(e,t,o){"use strict";var i=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;(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*x-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.ownerHeightt.ownerHeight||t.scrollY or "),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:y;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 R=b.bodyFixedColumns.length;if(this._columnToScrollTo>=R){var T,D,S=0;for(T=0;TT;++T)D=b.bodyScrollableColumns[T],M+=D.props.width;var E=e.width-S,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*x,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;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 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},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),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=S},function(e,t,o){"use strict";function i(e){for(var t=0,o=0;o=t)return{columns:e,width:i(e)};for(var o=n(e),r=t,s=[],a=0,u=0;uo?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,o){"use strict";function i(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 n={shouldComponentUpdate:function(e,t){return!i(this.props,e)||!i(this.state,t)}};e.exports=n},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;oi?-1:1),n&&!o&&(o=1>n?-1:1),{spinX:t,spinY:o,pixelX:i,pixelY:n}}var n=o(35),r=o(36),s=10,a=40,l=800;i.getEventType=function(){return n.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=i},function(e,t,o){"use strict";function i(){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(m=/\b(iPhone|iP[ao]d)/.exec(e),_=/\b(iP[ao]d)/.exec(e),p=/Android/i.exec(e),w=/FBAN\/\w+;/i.exec(e),g=/Mobile/i.exec(e),d=!!/Win64/.exec(e),t){n=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,n&&document&&document.documentMode&&(n=document.documentMode);var i=/(?:Trident\/(\d+.\d+))/.exec(e);u=i?parseFloat(i[1])+4:n,r=t[2]?parseFloat(t[2]):NaN,s=t[3]?parseFloat(t[3]):NaN,a=t[4]?parseFloat(t[4]):NaN,a?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),l=t&&t[1]?parseFloat(t[1]):NaN):l=NaN}else n=r=s=l=a=NaN;if(o){if(o[1]){var b=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);h=b?parseFloat(b[1].replace("_",".")):!0}else h=!1;c=!!o[2],f=!!o[3]}else h=c=f=!1}}var n,r,s,a,l,u,h,c,f,p,d,m,_,w,g,v=!1,b={ie:function(){return i()||n},ieCompatibilityMode:function(){return i()||u>n},ie64:function(){return b.ie()&&d},firefox:function(){return i()||r},opera:function(){return i()||s},webkit:function(){return i()||a},safari:function(){return b.webkit()},chrome:function(){return i()||l},windows:function(){return i()||c},osx:function(){return i()||h},linux:function(){return i()||f},iphone:function(){return i()||m},mobile:function(){return i()||m||_||p||g},nativeApp:function(){return i()||w},android:function(){return i()||p},ipad:function(){return i()||_}};e.exports=b},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(37);r.canUseDOM&&(n=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=i},function(e,t,o){"use strict";var i=!("undefined"==typeof window||!window.document||!window.document.createElement),n={canUseDOM:i,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:i&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:i&&!!window.screen,isInWorker:!i};e.exports=n},function(e,t,o){(function(t){"use strict";var i=o(33),n=o(39),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,o){(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(41),n=o(44),r=o(27),s=o(45),a=o(31),l=o(32),u=o(47),h=o(48),c=o(33),f=o(49),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)):(e={top:c,height:o},t={height:a-_},f(t,0,w)),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)},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()},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;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=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=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()t.value}}]),e}();e.exports=a},function(e,t,o){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){return t>e}var r=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=i},function(e,t,o){"use strict";var i=Object.assign||function(e){for(var t=1;t0){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},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),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;tn;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),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 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 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(48),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;t1)for(var i=1;o>i;i++)t=arguments[i],t&&(e=(e?e+" ":"")+t);return e}e.exports=i},function(e,t,o){"use strict";var i=o(41),n=o(62),r=o(27),s=o(31),a=o(58),l=o(48),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;oa;++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=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&&ie?(n+=e,e=0):(e-=a,n+=a,i++),ie){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=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(tt;)t*=2;return t}var r=function(){function e(e,t){for(var o=0;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;o0;--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=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=u}).call(t,function(){return this}())},function(e,t,o){"use strict";function i(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=i},function(e,t,o){"use strict";function i(e,t){if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var r=n.bind(t),s=0;s 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 should never render")}});e.exports=r},function(e,t,o){"use strict";var i=Object.assign||function(e){for(var t=1;t