@depup/react-virtualized 9.22.6-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +34 -0
  3. package/changes.json +22 -0
  4. package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.example.js +184 -0
  5. package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.jest.js +338 -0
  6. package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.js +204 -0
  7. package/dist/commonjs/ArrowKeyStepper/index.js +19 -0
  8. package/dist/commonjs/ArrowKeyStepper/types.js +5 -0
  9. package/dist/commonjs/AutoSizer/AutoSizer.example.js +104 -0
  10. package/dist/commonjs/AutoSizer/AutoSizer.jest.js +341 -0
  11. package/dist/commonjs/AutoSizer/AutoSizer.js +199 -0
  12. package/dist/commonjs/AutoSizer/AutoSizer.ssr.js +25 -0
  13. package/dist/commonjs/AutoSizer/index.js +19 -0
  14. package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightGrid.example.js +100 -0
  15. package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightList.example.js +99 -0
  16. package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightTableColumn.example.js +107 -0
  17. package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicWidthGrid.example.js +102 -0
  18. package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicWidthMultiGrid.example.js +107 -0
  19. package/dist/commonjs/CellMeasurer/CellMeasurer.example.js +129 -0
  20. package/dist/commonjs/CellMeasurer/CellMeasurer.jest.js +345 -0
  21. package/dist/commonjs/CellMeasurer/CellMeasurer.js +195 -0
  22. package/dist/commonjs/CellMeasurer/CellMeasurerCache.jest.js +298 -0
  23. package/dist/commonjs/CellMeasurer/CellMeasurerCache.js +202 -0
  24. package/dist/commonjs/CellMeasurer/index.js +22 -0
  25. package/dist/commonjs/CellMeasurer/types.js +14 -0
  26. package/dist/commonjs/Collection/Collection.example.js +231 -0
  27. package/dist/commonjs/Collection/Collection.jest.js +829 -0
  28. package/dist/commonjs/Collection/Collection.js +266 -0
  29. package/dist/commonjs/Collection/CollectionView.js +553 -0
  30. package/dist/commonjs/Collection/Section.jest.js +63 -0
  31. package/dist/commonjs/Collection/Section.js +57 -0
  32. package/dist/commonjs/Collection/SectionManager.jest.js +121 -0
  33. package/dist/commonjs/Collection/SectionManager.js +134 -0
  34. package/dist/commonjs/Collection/TestData.js +77 -0
  35. package/dist/commonjs/Collection/index.js +15 -0
  36. package/dist/commonjs/Collection/types.js +22 -0
  37. package/dist/commonjs/Collection/utils/calculateSizeAndPositionData.jest.js +34 -0
  38. package/dist/commonjs/Collection/utils/calculateSizeAndPositionData.js +38 -0
  39. package/dist/commonjs/ColumnSizer/ColumnSizer.example.js +159 -0
  40. package/dist/commonjs/ColumnSizer/ColumnSizer.jest.js +129 -0
  41. package/dist/commonjs/ColumnSizer/ColumnSizer.js +103 -0
  42. package/dist/commonjs/ColumnSizer/index.js +15 -0
  43. package/dist/commonjs/Grid/Grid.example.js +330 -0
  44. package/dist/commonjs/Grid/Grid.jest.js +2561 -0
  45. package/dist/commonjs/Grid/Grid.js +1432 -0
  46. package/dist/commonjs/Grid/Grid.ssr.js +62 -0
  47. package/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.jest.js +92 -0
  48. package/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js +40 -0
  49. package/dist/commonjs/Grid/defaultCellRangeRenderer.js +139 -0
  50. package/dist/commonjs/Grid/defaultOverscanIndicesGetter.jest.js +92 -0
  51. package/dist/commonjs/Grid/defaultOverscanIndicesGetter.js +36 -0
  52. package/dist/commonjs/Grid/index.js +40 -0
  53. package/dist/commonjs/Grid/types.js +8 -0
  54. package/dist/commonjs/Grid/utils/CellSizeAndPositionManager.jest.js +375 -0
  55. package/dist/commonjs/Grid/utils/CellSizeAndPositionManager.js +296 -0
  56. package/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.jest.js +201 -0
  57. package/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.js +204 -0
  58. package/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.jest.js +84 -0
  59. package/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js +59 -0
  60. package/dist/commonjs/Grid/utils/maxElementSize.js +22 -0
  61. package/dist/commonjs/Grid/utils/updateScrollIndexHelper.jest.js +180 -0
  62. package/dist/commonjs/Grid/utils/updateScrollIndexHelper.js +85 -0
  63. package/dist/commonjs/InfiniteLoader/InfiniteLoader.example.js +179 -0
  64. package/dist/commonjs/InfiniteLoader/InfiniteLoader.jest.js +571 -0
  65. package/dist/commonjs/InfiniteLoader/InfiniteLoader.js +274 -0
  66. package/dist/commonjs/InfiniteLoader/index.js +15 -0
  67. package/dist/commonjs/List/List.example.js +236 -0
  68. package/dist/commonjs/List/List.jest.js +517 -0
  69. package/dist/commonjs/List/List.js +318 -0
  70. package/dist/commonjs/List/index.js +19 -0
  71. package/dist/commonjs/List/types.js +6 -0
  72. package/dist/commonjs/Masonry/Masonry.example.js +287 -0
  73. package/dist/commonjs/Masonry/Masonry.jest.js +450 -0
  74. package/dist/commonjs/Masonry/Masonry.js +431 -0
  75. package/dist/commonjs/Masonry/PositionCache.js +88 -0
  76. package/dist/commonjs/Masonry/createCellPositioner.js +59 -0
  77. package/dist/commonjs/Masonry/index.js +22 -0
  78. package/dist/commonjs/MultiGrid/CellMeasurerCacheDecorator.js +106 -0
  79. package/dist/commonjs/MultiGrid/MultiGrid.example.js +131 -0
  80. package/dist/commonjs/MultiGrid/MultiGrid.jest.js +584 -0
  81. package/dist/commonjs/MultiGrid/MultiGrid.js +743 -0
  82. package/dist/commonjs/MultiGrid/index.js +15 -0
  83. package/dist/commonjs/ScrollSync/ScrollSync.example.js +257 -0
  84. package/dist/commonjs/ScrollSync/ScrollSync.jest.js +66 -0
  85. package/dist/commonjs/ScrollSync/ScrollSync.js +88 -0
  86. package/dist/commonjs/ScrollSync/index.js +15 -0
  87. package/dist/commonjs/Table/Column.jest.js +90 -0
  88. package/dist/commonjs/Table/Column.js +93 -0
  89. package/dist/commonjs/Table/SortDirection.js +19 -0
  90. package/dist/commonjs/Table/SortIndicator.js +40 -0
  91. package/dist/commonjs/Table/Table.example.js +325 -0
  92. package/dist/commonjs/Table/Table.jest.js +1257 -0
  93. package/dist/commonjs/Table/Table.js +742 -0
  94. package/dist/commonjs/Table/createMultiSort.jest.js +165 -0
  95. package/dist/commonjs/Table/createMultiSort.js +99 -0
  96. package/dist/commonjs/Table/defaultCellDataGetter.js +21 -0
  97. package/dist/commonjs/Table/defaultCellRenderer.js +19 -0
  98. package/dist/commonjs/Table/defaultHeaderRenderer.js +35 -0
  99. package/dist/commonjs/Table/defaultHeaderRowRenderer.js +21 -0
  100. package/dist/commonjs/Table/defaultRowRenderer.js +87 -0
  101. package/dist/commonjs/Table/index.js +78 -0
  102. package/dist/commonjs/Table/types.js +39 -0
  103. package/dist/commonjs/WindowScroller/WindowScroller.e2e.js +298 -0
  104. package/dist/commonjs/WindowScroller/WindowScroller.example.js +167 -0
  105. package/dist/commonjs/WindowScroller/WindowScroller.header-resize.e2e.js +359 -0
  106. package/dist/commonjs/WindowScroller/WindowScroller.jest.js +536 -0
  107. package/dist/commonjs/WindowScroller/WindowScroller.js +268 -0
  108. package/dist/commonjs/WindowScroller/WindowScroller.ssr.js +25 -0
  109. package/dist/commonjs/WindowScroller/index.js +23 -0
  110. package/dist/commonjs/WindowScroller/utils/dimensions.js +89 -0
  111. package/dist/commonjs/WindowScroller/utils/onScroll.js +70 -0
  112. package/dist/commonjs/index.js +180 -0
  113. package/dist/commonjs/jest-setup.js +7 -0
  114. package/dist/commonjs/utils/TestHelper.js +36 -0
  115. package/dist/commonjs/utils/animationFrame.js +29 -0
  116. package/dist/commonjs/utils/createCallbackMemoizer.jest.js +219 -0
  117. package/dist/commonjs/utils/createCallbackMemoizer.js +31 -0
  118. package/dist/commonjs/utils/getUpdatedOffsetForIndex.jest.js +68 -0
  119. package/dist/commonjs/utils/getUpdatedOffsetForIndex.js +38 -0
  120. package/dist/commonjs/utils/initCellMetadata.js +37 -0
  121. package/dist/commonjs/utils/requestAnimationTimeout.js +38 -0
  122. package/dist/commonjs/vendor/binarySearchBounds.js +200 -0
  123. package/dist/commonjs/vendor/detectElementResize.js +192 -0
  124. package/dist/commonjs/vendor/intervalTree.js +361 -0
  125. package/dist/es/ArrowKeyStepper/ArrowKeyStepper.example.js +176 -0
  126. package/dist/es/ArrowKeyStepper/ArrowKeyStepper.jest.js +332 -0
  127. package/dist/es/ArrowKeyStepper/ArrowKeyStepper.js +197 -0
  128. package/dist/es/ArrowKeyStepper/index.js +3 -0
  129. package/dist/es/ArrowKeyStepper/types.js +4 -0
  130. package/dist/es/AutoSizer/AutoSizer.example.js +96 -0
  131. package/dist/es/AutoSizer/AutoSizer.jest.js +335 -0
  132. package/dist/es/AutoSizer/AutoSizer.js +190 -0
  133. package/dist/es/AutoSizer/AutoSizer.js.flow +200 -0
  134. package/dist/es/AutoSizer/AutoSizer.ssr.js +19 -0
  135. package/dist/es/AutoSizer/index.js +2 -0
  136. package/dist/es/AutoSizer/index.js.flow +4 -0
  137. package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightGrid.example.js +91 -0
  138. package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightList.example.js +90 -0
  139. package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightTableColumn.example.js +98 -0
  140. package/dist/es/CellMeasurer/CellMeasurer.DynamicWidthGrid.example.js +93 -0
  141. package/dist/es/CellMeasurer/CellMeasurer.DynamicWidthMultiGrid.example.js +98 -0
  142. package/dist/es/CellMeasurer/CellMeasurer.example.js +120 -0
  143. package/dist/es/CellMeasurer/CellMeasurer.jest.js +340 -0
  144. package/dist/es/CellMeasurer/CellMeasurer.js +187 -0
  145. package/dist/es/CellMeasurer/CellMeasurerCache.jest.js +293 -0
  146. package/dist/es/CellMeasurer/CellMeasurerCache.js +196 -0
  147. package/dist/es/CellMeasurer/index.js +4 -0
  148. package/dist/es/CellMeasurer/types.js +13 -0
  149. package/dist/es/Collection/Collection.example.js +223 -0
  150. package/dist/es/Collection/Collection.jest.js +824 -0
  151. package/dist/es/Collection/Collection.js +257 -0
  152. package/dist/es/Collection/CollectionView.js +544 -0
  153. package/dist/es/Collection/Section.jest.js +60 -0
  154. package/dist/es/Collection/Section.js +51 -0
  155. package/dist/es/Collection/SectionManager.jest.js +118 -0
  156. package/dist/es/Collection/SectionManager.js +128 -0
  157. package/dist/es/Collection/TestData.js +71 -0
  158. package/dist/es/Collection/index.js +3 -0
  159. package/dist/es/Collection/types.js +21 -0
  160. package/dist/es/Collection/utils/calculateSizeAndPositionData.jest.js +31 -0
  161. package/dist/es/Collection/utils/calculateSizeAndPositionData.js +31 -0
  162. package/dist/es/ColumnSizer/ColumnSizer.example.js +150 -0
  163. package/dist/es/ColumnSizer/ColumnSizer.jest.js +123 -0
  164. package/dist/es/ColumnSizer/ColumnSizer.js +95 -0
  165. package/dist/es/ColumnSizer/index.js +3 -0
  166. package/dist/es/Grid/Grid.example.js +321 -0
  167. package/dist/es/Grid/Grid.jest.js +2555 -0
  168. package/dist/es/Grid/Grid.js +1425 -0
  169. package/dist/es/Grid/Grid.ssr.js +57 -0
  170. package/dist/es/Grid/accessibilityOverscanIndicesGetter.jest.js +87 -0
  171. package/dist/es/Grid/accessibilityOverscanIndicesGetter.js +33 -0
  172. package/dist/es/Grid/defaultCellRangeRenderer.js +134 -0
  173. package/dist/es/Grid/defaultOverscanIndicesGetter.jest.js +87 -0
  174. package/dist/es/Grid/defaultOverscanIndicesGetter.js +29 -0
  175. package/dist/es/Grid/index.js +15 -0
  176. package/dist/es/Grid/types.js +96 -0
  177. package/dist/es/Grid/utils/CellSizeAndPositionManager.jest.js +372 -0
  178. package/dist/es/Grid/utils/CellSizeAndPositionManager.js +290 -0
  179. package/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.jest.js +198 -0
  180. package/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.js +198 -0
  181. package/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.jest.js +81 -0
  182. package/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js +53 -0
  183. package/dist/es/Grid/utils/maxElementSize.js +16 -0
  184. package/dist/es/Grid/utils/updateScrollIndexHelper.jest.js +174 -0
  185. package/dist/es/Grid/utils/updateScrollIndexHelper.js +79 -0
  186. package/dist/es/InfiniteLoader/InfiniteLoader.example.js +170 -0
  187. package/dist/es/InfiniteLoader/InfiniteLoader.jest.js +565 -0
  188. package/dist/es/InfiniteLoader/InfiniteLoader.js +263 -0
  189. package/dist/es/InfiniteLoader/index.js +3 -0
  190. package/dist/es/List/List.example.js +227 -0
  191. package/dist/es/List/List.jest.js +511 -0
  192. package/dist/es/List/List.js +312 -0
  193. package/dist/es/List/index.js +3 -0
  194. package/dist/es/List/types.js +21 -0
  195. package/dist/es/Masonry/Masonry.example.js +278 -0
  196. package/dist/es/Masonry/Masonry.jest.js +444 -0
  197. package/dist/es/Masonry/Masonry.js +421 -0
  198. package/dist/es/Masonry/PositionCache.js +82 -0
  199. package/dist/es/Masonry/createCellPositioner.js +53 -0
  200. package/dist/es/Masonry/index.js +4 -0
  201. package/dist/es/MultiGrid/CellMeasurerCacheDecorator.js +100 -0
  202. package/dist/es/MultiGrid/MultiGrid.example.js +122 -0
  203. package/dist/es/MultiGrid/MultiGrid.jest.js +579 -0
  204. package/dist/es/MultiGrid/MultiGrid.js +733 -0
  205. package/dist/es/MultiGrid/index.js +3 -0
  206. package/dist/es/ScrollSync/ScrollSync.example.js +248 -0
  207. package/dist/es/ScrollSync/ScrollSync.jest.js +60 -0
  208. package/dist/es/ScrollSync/ScrollSync.js +80 -0
  209. package/dist/es/ScrollSync/index.js +3 -0
  210. package/dist/es/Table/Column.jest.js +84 -0
  211. package/dist/es/Table/Column.js +85 -0
  212. package/dist/es/Table/SortDirection.js +13 -0
  213. package/dist/es/Table/SortIndicator.js +31 -0
  214. package/dist/es/Table/Table.example.js +316 -0
  215. package/dist/es/Table/Table.jest.js +1251 -0
  216. package/dist/es/Table/Table.js +735 -0
  217. package/dist/es/Table/createMultiSort.jest.js +162 -0
  218. package/dist/es/Table/createMultiSort.js +93 -0
  219. package/dist/es/Table/defaultCellDataGetter.js +15 -0
  220. package/dist/es/Table/defaultCellRenderer.js +13 -0
  221. package/dist/es/Table/defaultHeaderRenderer.js +25 -0
  222. package/dist/es/Table/defaultHeaderRowRenderer.js +12 -0
  223. package/dist/es/Table/defaultRowRenderer.js +77 -0
  224. package/dist/es/Table/index.js +12 -0
  225. package/dist/es/Table/types.js +38 -0
  226. package/dist/es/WindowScroller/WindowScroller.e2e.js +295 -0
  227. package/dist/es/WindowScroller/WindowScroller.example.js +158 -0
  228. package/dist/es/WindowScroller/WindowScroller.header-resize.e2e.js +356 -0
  229. package/dist/es/WindowScroller/WindowScroller.jest.js +530 -0
  230. package/dist/es/WindowScroller/WindowScroller.js +259 -0
  231. package/dist/es/WindowScroller/WindowScroller.js.flow +277 -0
  232. package/dist/es/WindowScroller/WindowScroller.ssr.js +19 -0
  233. package/dist/es/WindowScroller/index.js +3 -0
  234. package/dist/es/WindowScroller/index.js.flow +6 -0
  235. package/dist/es/WindowScroller/utils/dimensions.js +81 -0
  236. package/dist/es/WindowScroller/utils/dimensions.js.flow +91 -0
  237. package/dist/es/WindowScroller/utils/onScroll.js +64 -0
  238. package/dist/es/WindowScroller/utils/onScroll.js.flow +94 -0
  239. package/dist/es/index.js +13 -0
  240. package/dist/es/jest-setup.js +5 -0
  241. package/dist/es/utils/TestHelper.js +30 -0
  242. package/dist/es/utils/animationFrame.js +23 -0
  243. package/dist/es/utils/createCallbackMemoizer.jest.js +216 -0
  244. package/dist/es/utils/createCallbackMemoizer.js +25 -0
  245. package/dist/es/utils/getUpdatedOffsetForIndex.jest.js +65 -0
  246. package/dist/es/utils/getUpdatedOffsetForIndex.js +32 -0
  247. package/dist/es/utils/initCellMetadata.js +31 -0
  248. package/dist/es/utils/requestAnimationTimeout.js +32 -0
  249. package/dist/es/vendor/binarySearchBounds.js +194 -0
  250. package/dist/es/vendor/detectElementResize.js +186 -0
  251. package/dist/es/vendor/intervalTree.js +354 -0
  252. package/dist/umd/react-virtualized.js +4638 -0
  253. package/package.json +188 -0
  254. package/styles.css +80 -0
@@ -0,0 +1,95 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
7
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
8
+ import PropTypes from 'prop-types';
9
+ import * as React from 'react';
10
+
11
+ /**
12
+ * High-order component that auto-calculates column-widths for `Grid` cells.
13
+ */
14
+ var ColumnSizer = /*#__PURE__*/function (_React$PureComponent) {
15
+ function ColumnSizer(props, context) {
16
+ var _this;
17
+ _classCallCheck(this, ColumnSizer);
18
+ _this = _callSuper(this, ColumnSizer, [props, context]);
19
+ _this._registerChild = _this._registerChild.bind(_this);
20
+ return _this;
21
+ }
22
+ _inherits(ColumnSizer, _React$PureComponent);
23
+ return _createClass(ColumnSizer, [{
24
+ key: "componentDidUpdate",
25
+ value: function componentDidUpdate(prevProps) {
26
+ var _this$props = this.props,
27
+ columnMaxWidth = _this$props.columnMaxWidth,
28
+ columnMinWidth = _this$props.columnMinWidth,
29
+ columnCount = _this$props.columnCount,
30
+ width = _this$props.width;
31
+ if (columnMaxWidth !== prevProps.columnMaxWidth || columnMinWidth !== prevProps.columnMinWidth || columnCount !== prevProps.columnCount || width !== prevProps.width) {
32
+ if (this._registeredChild) {
33
+ this._registeredChild.recomputeGridSize();
34
+ }
35
+ }
36
+ }
37
+ }, {
38
+ key: "render",
39
+ value: function render() {
40
+ var _this$props2 = this.props,
41
+ children = _this$props2.children,
42
+ columnMaxWidth = _this$props2.columnMaxWidth,
43
+ columnMinWidth = _this$props2.columnMinWidth,
44
+ columnCount = _this$props2.columnCount,
45
+ width = _this$props2.width;
46
+ var safeColumnMinWidth = columnMinWidth || 1;
47
+ var safeColumnMaxWidth = columnMaxWidth ? Math.min(columnMaxWidth, width) : width;
48
+ var columnWidth = width / columnCount;
49
+ columnWidth = Math.max(safeColumnMinWidth, columnWidth);
50
+ columnWidth = Math.min(safeColumnMaxWidth, columnWidth);
51
+ columnWidth = Math.floor(columnWidth);
52
+ var adjustedWidth = Math.min(width, columnWidth * columnCount);
53
+ return children({
54
+ adjustedWidth: adjustedWidth,
55
+ columnWidth: columnWidth,
56
+ getColumnWidth: function getColumnWidth() {
57
+ return columnWidth;
58
+ },
59
+ registerChild: this._registerChild
60
+ });
61
+ }
62
+ }, {
63
+ key: "_registerChild",
64
+ value: function _registerChild(child) {
65
+ if (child && typeof child.recomputeGridSize !== 'function') {
66
+ throw Error('Unexpected child type registered; only Grid/MultiGrid children are supported.');
67
+ }
68
+ this._registeredChild = child;
69
+ if (this._registeredChild) {
70
+ this._registeredChild.recomputeGridSize();
71
+ }
72
+ }
73
+ }]);
74
+ }(React.PureComponent);
75
+ export { ColumnSizer as default };
76
+ ColumnSizer.propTypes = process.env.NODE_ENV !== "production" ? {
77
+ /**
78
+ * Function responsible for rendering a virtualized Grid.
79
+ * This function should implement the following signature:
80
+ * ({ adjustedWidth, getColumnWidth, registerChild }) => PropTypes.element
81
+ *
82
+ * The specified :getColumnWidth function should be passed to the Grid's :columnWidth property.
83
+ * The :registerChild should be passed to the Grid's :ref property.
84
+ * The :adjustedWidth property is optional; it reflects the lesser of the overall width or the width of all columns.
85
+ */
86
+ children: PropTypes.func.isRequired,
87
+ /** Optional maximum allowed column width */
88
+ columnMaxWidth: PropTypes.number,
89
+ /** Optional minimum allowed column width */
90
+ columnMinWidth: PropTypes.number,
91
+ /** Number of columns in Grid or Table child */
92
+ columnCount: PropTypes.number.isRequired,
93
+ /** Width of Grid or Table child */
94
+ width: PropTypes.number.isRequired
95
+ } : {};
@@ -0,0 +1,3 @@
1
+ import ColumnSizer from './ColumnSizer';
2
+ export default ColumnSizer;
3
+ export { ColumnSizer };
@@ -0,0 +1,321 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
+ import Immutable from 'immutable';
12
+ import PropTypes from 'prop-types';
13
+ import * as React from 'react';
14
+ import { ContentBox, ContentBoxHeader, ContentBoxParagraph } from '../demo/ContentBox';
15
+ import { LabeledInput, InputRow } from '../demo/LabeledInput';
16
+ import AutoSizer from '../AutoSizer';
17
+ import Grid from './Grid';
18
+ import clsx from 'clsx';
19
+ import styles from './Grid.example.css';
20
+ var GridExample = /*#__PURE__*/function (_React$PureComponent) {
21
+ function GridExample(props, context) {
22
+ var _this;
23
+ _classCallCheck(this, GridExample);
24
+ _this = _callSuper(this, GridExample, [props, context]);
25
+ _this.state = {
26
+ columnCount: 1000,
27
+ height: 300,
28
+ overscanColumnCount: 0,
29
+ overscanRowCount: 10,
30
+ rowHeight: 40,
31
+ rowCount: 1000,
32
+ scrollToColumn: undefined,
33
+ scrollToRow: undefined,
34
+ useDynamicRowHeight: false
35
+ };
36
+ _this._cellRenderer = _this._cellRenderer.bind(_this);
37
+ _this._getColumnWidth = _this._getColumnWidth.bind(_this);
38
+ _this._getRowClassName = _this._getRowClassName.bind(_this);
39
+ _this._getRowHeight = _this._getRowHeight.bind(_this);
40
+ _this._noContentRenderer = _this._noContentRenderer.bind(_this);
41
+ _this._onColumnCountChange = _this._onColumnCountChange.bind(_this);
42
+ _this._onRowCountChange = _this._onRowCountChange.bind(_this);
43
+ _this._onScrollToColumnChange = _this._onScrollToColumnChange.bind(_this);
44
+ _this._onScrollToRowChange = _this._onScrollToRowChange.bind(_this);
45
+ _this._renderBodyCell = _this._renderBodyCell.bind(_this);
46
+ _this._renderLeftSideCell = _this._renderLeftSideCell.bind(_this);
47
+ return _this;
48
+ }
49
+ _inherits(GridExample, _React$PureComponent);
50
+ return _createClass(GridExample, [{
51
+ key: "render",
52
+ value: function render() {
53
+ var _this2 = this;
54
+ var _this$state = this.state,
55
+ columnCount = _this$state.columnCount,
56
+ height = _this$state.height,
57
+ overscanColumnCount = _this$state.overscanColumnCount,
58
+ overscanRowCount = _this$state.overscanRowCount,
59
+ rowHeight = _this$state.rowHeight,
60
+ rowCount = _this$state.rowCount,
61
+ scrollToColumn = _this$state.scrollToColumn,
62
+ scrollToRow = _this$state.scrollToRow,
63
+ useDynamicRowHeight = _this$state.useDynamicRowHeight;
64
+ return /*#__PURE__*/React.createElement(ContentBox, null, /*#__PURE__*/React.createElement(ContentBoxHeader, {
65
+ text: "Grid",
66
+ sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/Grid.example.js",
67
+ docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/Grid.md"
68
+ }), /*#__PURE__*/React.createElement(ContentBoxParagraph, null, "Renders tabular data with virtualization along the vertical and horizontal axes. Row heights and column widths must be calculated ahead of time and specified as a fixed size or returned by a getter function."), /*#__PURE__*/React.createElement(ContentBoxParagraph, null, /*#__PURE__*/React.createElement("label", {
69
+ className: styles.checkboxLabel
70
+ }, /*#__PURE__*/React.createElement("input", {
71
+ "aria-label": "Use dynamic row height?",
72
+ className: styles.checkbox,
73
+ type: "checkbox",
74
+ value: useDynamicRowHeight,
75
+ onChange: function onChange(event) {
76
+ return _this2._updateUseDynamicRowHeights(event.target.checked);
77
+ }
78
+ }), "Use dynamic row height?")), /*#__PURE__*/React.createElement(InputRow, null, /*#__PURE__*/React.createElement(LabeledInput, {
79
+ label: "Num columns",
80
+ name: "columnCount",
81
+ onChange: this._onColumnCountChange,
82
+ value: columnCount
83
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
84
+ label: "Num rows",
85
+ name: "rowCount",
86
+ onChange: this._onRowCountChange,
87
+ value: rowCount
88
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
89
+ label: "Scroll to column",
90
+ name: "onScrollToColumn",
91
+ placeholder: "Index...",
92
+ onChange: this._onScrollToColumnChange,
93
+ value: scrollToColumn || ''
94
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
95
+ label: "Scroll to row",
96
+ name: "onScrollToRow",
97
+ placeholder: "Index...",
98
+ onChange: this._onScrollToRowChange,
99
+ value: scrollToRow || ''
100
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
101
+ label: "List height",
102
+ name: "height",
103
+ onChange: function onChange(event) {
104
+ return _this2.setState({
105
+ height: parseInt(event.target.value, 10) || 1
106
+ });
107
+ },
108
+ value: height
109
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
110
+ disabled: useDynamicRowHeight,
111
+ label: "Row height",
112
+ name: "rowHeight",
113
+ onChange: function onChange(event) {
114
+ return _this2.setState({
115
+ rowHeight: parseInt(event.target.value, 10) || 1
116
+ });
117
+ },
118
+ value: rowHeight
119
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
120
+ label: "Overscan columns",
121
+ name: "overscanColumnCount",
122
+ onChange: function onChange(event) {
123
+ return _this2.setState({
124
+ overscanColumnCount: parseInt(event.target.value, 10) || 0
125
+ });
126
+ },
127
+ value: overscanColumnCount
128
+ }), /*#__PURE__*/React.createElement(LabeledInput, {
129
+ label: "Overscan rows",
130
+ name: "overscanRowCount",
131
+ onChange: function onChange(event) {
132
+ return _this2.setState({
133
+ overscanRowCount: parseInt(event.target.value, 10) || 0
134
+ });
135
+ },
136
+ value: overscanRowCount
137
+ })), /*#__PURE__*/React.createElement(AutoSizer, {
138
+ disableHeight: true
139
+ }, function (_ref) {
140
+ var width = _ref.width;
141
+ return /*#__PURE__*/React.createElement(Grid, {
142
+ cellRenderer: _this2._cellRenderer,
143
+ className: styles.BodyGrid,
144
+ columnWidth: _this2._getColumnWidth,
145
+ columnCount: columnCount,
146
+ height: height,
147
+ noContentRenderer: _this2._noContentRenderer,
148
+ overscanColumnCount: overscanColumnCount,
149
+ overscanRowCount: overscanRowCount,
150
+ rowHeight: useDynamicRowHeight ? _this2._getRowHeight : rowHeight,
151
+ rowCount: rowCount,
152
+ scrollToColumn: scrollToColumn,
153
+ scrollToRow: scrollToRow,
154
+ width: width
155
+ });
156
+ }));
157
+ }
158
+ }, {
159
+ key: "_cellRenderer",
160
+ value: function _cellRenderer(_ref2) {
161
+ var columnIndex = _ref2.columnIndex,
162
+ key = _ref2.key,
163
+ rowIndex = _ref2.rowIndex,
164
+ style = _ref2.style;
165
+ if (columnIndex === 0) {
166
+ return this._renderLeftSideCell({
167
+ columnIndex: columnIndex,
168
+ key: key,
169
+ rowIndex: rowIndex,
170
+ style: style
171
+ });
172
+ } else {
173
+ return this._renderBodyCell({
174
+ columnIndex: columnIndex,
175
+ key: key,
176
+ rowIndex: rowIndex,
177
+ style: style
178
+ });
179
+ }
180
+ }
181
+ }, {
182
+ key: "_getColumnWidth",
183
+ value: function _getColumnWidth(_ref3) {
184
+ var index = _ref3.index;
185
+ switch (index) {
186
+ case 0:
187
+ return 50;
188
+ case 1:
189
+ return 100;
190
+ case 2:
191
+ return 300;
192
+ default:
193
+ return 80;
194
+ }
195
+ }
196
+ }, {
197
+ key: "_getDatum",
198
+ value: function _getDatum(index) {
199
+ var list = this.context.list;
200
+ return list.get(index % list.size);
201
+ }
202
+ }, {
203
+ key: "_getRowClassName",
204
+ value: function _getRowClassName(row) {
205
+ return row % 2 === 0 ? styles.evenRow : styles.oddRow;
206
+ }
207
+ }, {
208
+ key: "_getRowHeight",
209
+ value: function _getRowHeight(_ref4) {
210
+ var index = _ref4.index;
211
+ return this._getDatum(index).size;
212
+ }
213
+ }, {
214
+ key: "_noContentRenderer",
215
+ value: function _noContentRenderer() {
216
+ return /*#__PURE__*/React.createElement("div", {
217
+ className: styles.noCells
218
+ }, "No cells");
219
+ }
220
+ }, {
221
+ key: "_renderBodyCell",
222
+ value: function _renderBodyCell(_ref5) {
223
+ var columnIndex = _ref5.columnIndex,
224
+ key = _ref5.key,
225
+ rowIndex = _ref5.rowIndex,
226
+ style = _ref5.style;
227
+ var rowClass = this._getRowClassName(rowIndex);
228
+ var datum = this._getDatum(rowIndex);
229
+ var content;
230
+ switch (columnIndex) {
231
+ case 1:
232
+ content = datum.name;
233
+ break;
234
+ case 2:
235
+ content = datum.random;
236
+ break;
237
+ default:
238
+ content = "r:".concat(rowIndex, ", c:").concat(columnIndex);
239
+ break;
240
+ }
241
+ var classNames = clsx(rowClass, styles.cell, _defineProperty({}, styles.centeredCell, columnIndex > 2));
242
+ return /*#__PURE__*/React.createElement("div", {
243
+ className: classNames,
244
+ key: key,
245
+ style: style
246
+ }, content);
247
+ }
248
+ }, {
249
+ key: "_renderLeftSideCell",
250
+ value: function _renderLeftSideCell(_ref6) {
251
+ var key = _ref6.key,
252
+ rowIndex = _ref6.rowIndex,
253
+ style = _ref6.style;
254
+ var datum = this._getDatum(rowIndex);
255
+ var classNames = clsx(styles.cell, styles.letterCell);
256
+
257
+ // Don't modify styles.
258
+ // These are frozen by React now (as of 16.0.0).
259
+ // Since Grid caches and re-uses them, they aren't safe to modify.
260
+ style = _objectSpread(_objectSpread({}, style), {}, {
261
+ backgroundColor: datum.color
262
+ });
263
+ return /*#__PURE__*/React.createElement("div", {
264
+ className: classNames,
265
+ key: key,
266
+ style: style
267
+ }, datum.name.charAt(0));
268
+ }
269
+ }, {
270
+ key: "_updateUseDynamicRowHeights",
271
+ value: function _updateUseDynamicRowHeights(value) {
272
+ this.setState({
273
+ useDynamicRowHeight: value
274
+ });
275
+ }
276
+ }, {
277
+ key: "_onColumnCountChange",
278
+ value: function _onColumnCountChange(event) {
279
+ var columnCount = parseInt(event.target.value, 10) || 0;
280
+ this.setState({
281
+ columnCount: columnCount
282
+ });
283
+ }
284
+ }, {
285
+ key: "_onRowCountChange",
286
+ value: function _onRowCountChange(event) {
287
+ var rowCount = parseInt(event.target.value, 10) || 0;
288
+ this.setState({
289
+ rowCount: rowCount
290
+ });
291
+ }
292
+ }, {
293
+ key: "_onScrollToColumnChange",
294
+ value: function _onScrollToColumnChange(event) {
295
+ var columnCount = this.state.columnCount;
296
+ var scrollToColumn = Math.min(columnCount - 1, parseInt(event.target.value, 10));
297
+ if (isNaN(scrollToColumn)) {
298
+ scrollToColumn = undefined;
299
+ }
300
+ this.setState({
301
+ scrollToColumn: scrollToColumn
302
+ });
303
+ }
304
+ }, {
305
+ key: "_onScrollToRowChange",
306
+ value: function _onScrollToRowChange(event) {
307
+ var rowCount = this.state.rowCount;
308
+ var scrollToRow = Math.min(rowCount - 1, parseInt(event.target.value, 10));
309
+ if (isNaN(scrollToRow)) {
310
+ scrollToRow = undefined;
311
+ }
312
+ this.setState({
313
+ scrollToRow: scrollToRow
314
+ });
315
+ }
316
+ }]);
317
+ }(React.PureComponent);
318
+ _defineProperty(GridExample, "contextTypes", {
319
+ list: PropTypes.instanceOf(Immutable.List).isRequired
320
+ });
321
+ export { GridExample as default };