@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,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var React = _interopRequireWildcard(require("react"));
6
+ var _reactDom = require("react-dom");
7
+ var _TestUtils = require("../TestUtils");
8
+ var _ColumnSizer = _interopRequireDefault(require("./ColumnSizer"));
9
+ var _Grid = _interopRequireDefault(require("../Grid"));
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
+ describe('ColumnSizer', function () {
13
+ function getMarkup() {
14
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
15
+ _ref$columnMinWidth = _ref.columnMinWidth,
16
+ columnMinWidth = _ref$columnMinWidth === void 0 ? undefined : _ref$columnMinWidth,
17
+ _ref$columnMaxWidth = _ref.columnMaxWidth,
18
+ columnMaxWidth = _ref$columnMaxWidth === void 0 ? undefined : _ref$columnMaxWidth,
19
+ _ref$columnCount = _ref.columnCount,
20
+ columnCount = _ref$columnCount === void 0 ? 10 : _ref$columnCount,
21
+ _ref$width = _ref.width,
22
+ width = _ref$width === void 0 ? 200 : _ref$width;
23
+ function cellRenderer(_ref2) {
24
+ var columnIndex = _ref2.columnIndex,
25
+ key = _ref2.key,
26
+ rowIndex = _ref2.rowIndex,
27
+ style = _ref2.style;
28
+ return /*#__PURE__*/React.createElement("div", {
29
+ className: "gridItem",
30
+ key: key,
31
+ style: style
32
+ }, "row:".concat(rowIndex, ", column:").concat(columnIndex));
33
+ }
34
+ return /*#__PURE__*/React.createElement(_ColumnSizer["default"], {
35
+ columnMinWidth: columnMinWidth,
36
+ columnMaxWidth: columnMaxWidth,
37
+ columnCount: columnCount,
38
+ width: width
39
+ }, function (_ref3) {
40
+ var adjustedWidth = _ref3.adjustedWidth,
41
+ columnWidth = _ref3.columnWidth,
42
+ registerChild = _ref3.registerChild;
43
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Grid["default"], {
44
+ columnCount: columnCount,
45
+ columnWidth: columnWidth,
46
+ height: 50,
47
+ ref: registerChild,
48
+ cellRenderer: cellRenderer,
49
+ rowHeight: 50,
50
+ rowCount: 1,
51
+ width: adjustedWidth
52
+ }), /*#__PURE__*/React.createElement("div", {
53
+ className: "debug"
54
+ }, "adjustedWidth:".concat(adjustedWidth, " columnWidth:").concat(columnWidth)));
55
+ });
56
+ }
57
+ it('should distribute column widths evenly if no min/max boundaries have been set', function () {
58
+ var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup()));
59
+ expect(rendered.querySelector('.debug').textContent).toContain('columnWidth:20');
60
+ });
61
+ it('should respect :columnMaxWidth if specified', function () {
62
+ var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
63
+ columnMaxWidth: 10
64
+ })));
65
+ expect(rendered.querySelector('.debug').textContent).toContain('columnWidth:10');
66
+ });
67
+ it('should respect :columnMinWidth if specified', function () {
68
+ var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
69
+ columnMinWidth: 30
70
+ })));
71
+ expect(rendered.querySelector('.debug').textContent).toContain('columnWidth:30');
72
+ });
73
+ describe('recomputeGridSize', function () {
74
+ function helper(updatedProps, expectedTextContent) {
75
+ var renderedA = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup()));
76
+ expect(renderedA.querySelector('.debug').textContent).toContain('columnWidth:20');
77
+ var renderedB = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup(updatedProps)));
78
+ expect(renderedB.querySelector('.debug').textContent).toContain(expectedTextContent);
79
+ }
80
+ it('should recompute metadata sizes if :columnMinWidth changes', function () {
81
+ helper({
82
+ columnMinWidth: 30
83
+ }, 'columnWidth:30');
84
+ });
85
+ it('should recompute metadata sizes if :columnMaxWidth changes', function () {
86
+ helper({
87
+ columnMaxWidth: 15
88
+ }, 'columnWidth:15');
89
+ });
90
+ it('should recompute metadata sizes if :width changes', function () {
91
+ helper({
92
+ width: 300
93
+ }, 'columnWidth:30');
94
+ });
95
+ it('should recompute metadata sizes if :columnCount changes', function () {
96
+ helper({
97
+ columnCount: 2
98
+ }, 'columnWidth:100');
99
+ });
100
+ });
101
+ it('should pass the :width as :adjustedWidth if columns require more than the :width to be displayed', function () {
102
+ var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
103
+ columnMinWidth: 30
104
+ })));
105
+ expect(rendered.querySelector('.debug').textContent).toContain('adjustedWidth:200');
106
+ });
107
+ it('should pass an :adjustedWidth if columns require less than the :width to be displayed', function () {
108
+ var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
109
+ columnMaxWidth: 10
110
+ })));
111
+ expect(rendered.querySelector('.debug').textContent).toContain('adjustedWidth:100');
112
+ });
113
+ it('should error if the registered child is not a Grid or a MultiGrid', function () {
114
+ spyOn(console, 'error');
115
+ expect(function () {
116
+ (0, _TestUtils.render)(/*#__PURE__*/React.createElement(_ColumnSizer["default"], {
117
+ columnMinWidth: 100,
118
+ columnMaxWidth: 100,
119
+ columnCount: 100,
120
+ width: 100
121
+ }, function (_ref4) {
122
+ var registerChild = _ref4.registerChild;
123
+ return /*#__PURE__*/React.createElement("div", {
124
+ ref: registerChild
125
+ });
126
+ }));
127
+ }).toThrow();
128
+ });
129
+ });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var React = _interopRequireWildcard(require("react"));
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
19
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
+ /**
21
+ * High-order component that auto-calculates column-widths for `Grid` cells.
22
+ */
23
+ var ColumnSizer = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
24
+ function ColumnSizer(props, context) {
25
+ var _this;
26
+ (0, _classCallCheck2["default"])(this, ColumnSizer);
27
+ _this = _callSuper(this, ColumnSizer, [props, context]);
28
+ _this._registerChild = _this._registerChild.bind(_this);
29
+ return _this;
30
+ }
31
+ (0, _inherits2["default"])(ColumnSizer, _React$PureComponent);
32
+ return (0, _createClass2["default"])(ColumnSizer, [{
33
+ key: "componentDidUpdate",
34
+ value: function componentDidUpdate(prevProps) {
35
+ var _this$props = this.props,
36
+ columnMaxWidth = _this$props.columnMaxWidth,
37
+ columnMinWidth = _this$props.columnMinWidth,
38
+ columnCount = _this$props.columnCount,
39
+ width = _this$props.width;
40
+ if (columnMaxWidth !== prevProps.columnMaxWidth || columnMinWidth !== prevProps.columnMinWidth || columnCount !== prevProps.columnCount || width !== prevProps.width) {
41
+ if (this._registeredChild) {
42
+ this._registeredChild.recomputeGridSize();
43
+ }
44
+ }
45
+ }
46
+ }, {
47
+ key: "render",
48
+ value: function render() {
49
+ var _this$props2 = this.props,
50
+ children = _this$props2.children,
51
+ columnMaxWidth = _this$props2.columnMaxWidth,
52
+ columnMinWidth = _this$props2.columnMinWidth,
53
+ columnCount = _this$props2.columnCount,
54
+ width = _this$props2.width;
55
+ var safeColumnMinWidth = columnMinWidth || 1;
56
+ var safeColumnMaxWidth = columnMaxWidth ? Math.min(columnMaxWidth, width) : width;
57
+ var columnWidth = width / columnCount;
58
+ columnWidth = Math.max(safeColumnMinWidth, columnWidth);
59
+ columnWidth = Math.min(safeColumnMaxWidth, columnWidth);
60
+ columnWidth = Math.floor(columnWidth);
61
+ var adjustedWidth = Math.min(width, columnWidth * columnCount);
62
+ return children({
63
+ adjustedWidth: adjustedWidth,
64
+ columnWidth: columnWidth,
65
+ getColumnWidth: function getColumnWidth() {
66
+ return columnWidth;
67
+ },
68
+ registerChild: this._registerChild
69
+ });
70
+ }
71
+ }, {
72
+ key: "_registerChild",
73
+ value: function _registerChild(child) {
74
+ if (child && typeof child.recomputeGridSize !== 'function') {
75
+ throw Error('Unexpected child type registered; only Grid/MultiGrid children are supported.');
76
+ }
77
+ this._registeredChild = child;
78
+ if (this._registeredChild) {
79
+ this._registeredChild.recomputeGridSize();
80
+ }
81
+ }
82
+ }]);
83
+ }(React.PureComponent);
84
+ ColumnSizer.propTypes = process.env.NODE_ENV !== "production" ? {
85
+ /**
86
+ * Function responsible for rendering a virtualized Grid.
87
+ * This function should implement the following signature:
88
+ * ({ adjustedWidth, getColumnWidth, registerChild }) => PropTypes.element
89
+ *
90
+ * The specified :getColumnWidth function should be passed to the Grid's :columnWidth property.
91
+ * The :registerChild should be passed to the Grid's :ref property.
92
+ * The :adjustedWidth property is optional; it reflects the lesser of the overall width or the width of all columns.
93
+ */
94
+ children: _propTypes["default"].func.isRequired,
95
+ /** Optional maximum allowed column width */
96
+ columnMaxWidth: _propTypes["default"].number,
97
+ /** Optional minimum allowed column width */
98
+ columnMinWidth: _propTypes["default"].number,
99
+ /** Number of columns in Grid or Table child */
100
+ columnCount: _propTypes["default"].number.isRequired,
101
+ /** Width of Grid or Table child */
102
+ width: _propTypes["default"].number.isRequired
103
+ } : {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "ColumnSizer", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _ColumnSizer["default"];
11
+ }
12
+ });
13
+ exports["default"] = void 0;
14
+ var _ColumnSizer = _interopRequireDefault(require("./ColumnSizer"));
15
+ var _default = exports["default"] = _ColumnSizer["default"];
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _immutable = _interopRequireDefault(require("immutable"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var React = _interopRequireWildcard(require("react"));
18
+ var _ContentBox = require("../demo/ContentBox");
19
+ var _LabeledInput = require("../demo/LabeledInput");
20
+ var _AutoSizer = _interopRequireDefault(require("../AutoSizer"));
21
+ var _Grid = _interopRequireDefault(require("./Grid"));
22
+ var _clsx2 = _interopRequireDefault(require("clsx"));
23
+ var _GridExample2 = _interopRequireDefault(require("./Grid.example.css"));
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ 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; }
27
+ 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) { (0, _defineProperty2["default"])(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; }
28
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
29
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
+ var GridExample = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
31
+ function GridExample(props, context) {
32
+ var _this;
33
+ (0, _classCallCheck2["default"])(this, GridExample);
34
+ _this = _callSuper(this, GridExample, [props, context]);
35
+ _this.state = {
36
+ columnCount: 1000,
37
+ height: 300,
38
+ overscanColumnCount: 0,
39
+ overscanRowCount: 10,
40
+ rowHeight: 40,
41
+ rowCount: 1000,
42
+ scrollToColumn: undefined,
43
+ scrollToRow: undefined,
44
+ useDynamicRowHeight: false
45
+ };
46
+ _this._cellRenderer = _this._cellRenderer.bind(_this);
47
+ _this._getColumnWidth = _this._getColumnWidth.bind(_this);
48
+ _this._getRowClassName = _this._getRowClassName.bind(_this);
49
+ _this._getRowHeight = _this._getRowHeight.bind(_this);
50
+ _this._noContentRenderer = _this._noContentRenderer.bind(_this);
51
+ _this._onColumnCountChange = _this._onColumnCountChange.bind(_this);
52
+ _this._onRowCountChange = _this._onRowCountChange.bind(_this);
53
+ _this._onScrollToColumnChange = _this._onScrollToColumnChange.bind(_this);
54
+ _this._onScrollToRowChange = _this._onScrollToRowChange.bind(_this);
55
+ _this._renderBodyCell = _this._renderBodyCell.bind(_this);
56
+ _this._renderLeftSideCell = _this._renderLeftSideCell.bind(_this);
57
+ return _this;
58
+ }
59
+ (0, _inherits2["default"])(GridExample, _React$PureComponent);
60
+ return (0, _createClass2["default"])(GridExample, [{
61
+ key: "render",
62
+ value: function render() {
63
+ var _this2 = this;
64
+ var _this$state = this.state,
65
+ columnCount = _this$state.columnCount,
66
+ height = _this$state.height,
67
+ overscanColumnCount = _this$state.overscanColumnCount,
68
+ overscanRowCount = _this$state.overscanRowCount,
69
+ rowHeight = _this$state.rowHeight,
70
+ rowCount = _this$state.rowCount,
71
+ scrollToColumn = _this$state.scrollToColumn,
72
+ scrollToRow = _this$state.scrollToRow,
73
+ useDynamicRowHeight = _this$state.useDynamicRowHeight;
74
+ return /*#__PURE__*/React.createElement(_ContentBox.ContentBox, null, /*#__PURE__*/React.createElement(_ContentBox.ContentBoxHeader, {
75
+ text: "Grid",
76
+ sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/Grid.example.js",
77
+ docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/Grid.md"
78
+ }), /*#__PURE__*/React.createElement(_ContentBox.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(_ContentBox.ContentBoxParagraph, null, /*#__PURE__*/React.createElement("label", {
79
+ className: _GridExample2["default"].checkboxLabel
80
+ }, /*#__PURE__*/React.createElement("input", {
81
+ "aria-label": "Use dynamic row height?",
82
+ className: _GridExample2["default"].checkbox,
83
+ type: "checkbox",
84
+ value: useDynamicRowHeight,
85
+ onChange: function onChange(event) {
86
+ return _this2._updateUseDynamicRowHeights(event.target.checked);
87
+ }
88
+ }), "Use dynamic row height?")), /*#__PURE__*/React.createElement(_LabeledInput.InputRow, null, /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
89
+ label: "Num columns",
90
+ name: "columnCount",
91
+ onChange: this._onColumnCountChange,
92
+ value: columnCount
93
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
94
+ label: "Num rows",
95
+ name: "rowCount",
96
+ onChange: this._onRowCountChange,
97
+ value: rowCount
98
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
99
+ label: "Scroll to column",
100
+ name: "onScrollToColumn",
101
+ placeholder: "Index...",
102
+ onChange: this._onScrollToColumnChange,
103
+ value: scrollToColumn || ''
104
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
105
+ label: "Scroll to row",
106
+ name: "onScrollToRow",
107
+ placeholder: "Index...",
108
+ onChange: this._onScrollToRowChange,
109
+ value: scrollToRow || ''
110
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
111
+ label: "List height",
112
+ name: "height",
113
+ onChange: function onChange(event) {
114
+ return _this2.setState({
115
+ height: parseInt(event.target.value, 10) || 1
116
+ });
117
+ },
118
+ value: height
119
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
120
+ disabled: useDynamicRowHeight,
121
+ label: "Row height",
122
+ name: "rowHeight",
123
+ onChange: function onChange(event) {
124
+ return _this2.setState({
125
+ rowHeight: parseInt(event.target.value, 10) || 1
126
+ });
127
+ },
128
+ value: rowHeight
129
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
130
+ label: "Overscan columns",
131
+ name: "overscanColumnCount",
132
+ onChange: function onChange(event) {
133
+ return _this2.setState({
134
+ overscanColumnCount: parseInt(event.target.value, 10) || 0
135
+ });
136
+ },
137
+ value: overscanColumnCount
138
+ }), /*#__PURE__*/React.createElement(_LabeledInput.LabeledInput, {
139
+ label: "Overscan rows",
140
+ name: "overscanRowCount",
141
+ onChange: function onChange(event) {
142
+ return _this2.setState({
143
+ overscanRowCount: parseInt(event.target.value, 10) || 0
144
+ });
145
+ },
146
+ value: overscanRowCount
147
+ })), /*#__PURE__*/React.createElement(_AutoSizer["default"], {
148
+ disableHeight: true
149
+ }, function (_ref) {
150
+ var width = _ref.width;
151
+ return /*#__PURE__*/React.createElement(_Grid["default"], {
152
+ cellRenderer: _this2._cellRenderer,
153
+ className: _GridExample2["default"].BodyGrid,
154
+ columnWidth: _this2._getColumnWidth,
155
+ columnCount: columnCount,
156
+ height: height,
157
+ noContentRenderer: _this2._noContentRenderer,
158
+ overscanColumnCount: overscanColumnCount,
159
+ overscanRowCount: overscanRowCount,
160
+ rowHeight: useDynamicRowHeight ? _this2._getRowHeight : rowHeight,
161
+ rowCount: rowCount,
162
+ scrollToColumn: scrollToColumn,
163
+ scrollToRow: scrollToRow,
164
+ width: width
165
+ });
166
+ }));
167
+ }
168
+ }, {
169
+ key: "_cellRenderer",
170
+ value: function _cellRenderer(_ref2) {
171
+ var columnIndex = _ref2.columnIndex,
172
+ key = _ref2.key,
173
+ rowIndex = _ref2.rowIndex,
174
+ style = _ref2.style;
175
+ if (columnIndex === 0) {
176
+ return this._renderLeftSideCell({
177
+ columnIndex: columnIndex,
178
+ key: key,
179
+ rowIndex: rowIndex,
180
+ style: style
181
+ });
182
+ } else {
183
+ return this._renderBodyCell({
184
+ columnIndex: columnIndex,
185
+ key: key,
186
+ rowIndex: rowIndex,
187
+ style: style
188
+ });
189
+ }
190
+ }
191
+ }, {
192
+ key: "_getColumnWidth",
193
+ value: function _getColumnWidth(_ref3) {
194
+ var index = _ref3.index;
195
+ switch (index) {
196
+ case 0:
197
+ return 50;
198
+ case 1:
199
+ return 100;
200
+ case 2:
201
+ return 300;
202
+ default:
203
+ return 80;
204
+ }
205
+ }
206
+ }, {
207
+ key: "_getDatum",
208
+ value: function _getDatum(index) {
209
+ var list = this.context.list;
210
+ return list.get(index % list.size);
211
+ }
212
+ }, {
213
+ key: "_getRowClassName",
214
+ value: function _getRowClassName(row) {
215
+ return row % 2 === 0 ? _GridExample2["default"].evenRow : _GridExample2["default"].oddRow;
216
+ }
217
+ }, {
218
+ key: "_getRowHeight",
219
+ value: function _getRowHeight(_ref4) {
220
+ var index = _ref4.index;
221
+ return this._getDatum(index).size;
222
+ }
223
+ }, {
224
+ key: "_noContentRenderer",
225
+ value: function _noContentRenderer() {
226
+ return /*#__PURE__*/React.createElement("div", {
227
+ className: _GridExample2["default"].noCells
228
+ }, "No cells");
229
+ }
230
+ }, {
231
+ key: "_renderBodyCell",
232
+ value: function _renderBodyCell(_ref5) {
233
+ var columnIndex = _ref5.columnIndex,
234
+ key = _ref5.key,
235
+ rowIndex = _ref5.rowIndex,
236
+ style = _ref5.style;
237
+ var rowClass = this._getRowClassName(rowIndex);
238
+ var datum = this._getDatum(rowIndex);
239
+ var content;
240
+ switch (columnIndex) {
241
+ case 1:
242
+ content = datum.name;
243
+ break;
244
+ case 2:
245
+ content = datum.random;
246
+ break;
247
+ default:
248
+ content = "r:".concat(rowIndex, ", c:").concat(columnIndex);
249
+ break;
250
+ }
251
+ var classNames = (0, _clsx2["default"])(rowClass, _GridExample2["default"].cell, (0, _defineProperty2["default"])({}, _GridExample2["default"].centeredCell, columnIndex > 2));
252
+ return /*#__PURE__*/React.createElement("div", {
253
+ className: classNames,
254
+ key: key,
255
+ style: style
256
+ }, content);
257
+ }
258
+ }, {
259
+ key: "_renderLeftSideCell",
260
+ value: function _renderLeftSideCell(_ref6) {
261
+ var key = _ref6.key,
262
+ rowIndex = _ref6.rowIndex,
263
+ style = _ref6.style;
264
+ var datum = this._getDatum(rowIndex);
265
+ var classNames = (0, _clsx2["default"])(_GridExample2["default"].cell, _GridExample2["default"].letterCell);
266
+
267
+ // Don't modify styles.
268
+ // These are frozen by React now (as of 16.0.0).
269
+ // Since Grid caches and re-uses them, they aren't safe to modify.
270
+ style = _objectSpread(_objectSpread({}, style), {}, {
271
+ backgroundColor: datum.color
272
+ });
273
+ return /*#__PURE__*/React.createElement("div", {
274
+ className: classNames,
275
+ key: key,
276
+ style: style
277
+ }, datum.name.charAt(0));
278
+ }
279
+ }, {
280
+ key: "_updateUseDynamicRowHeights",
281
+ value: function _updateUseDynamicRowHeights(value) {
282
+ this.setState({
283
+ useDynamicRowHeight: value
284
+ });
285
+ }
286
+ }, {
287
+ key: "_onColumnCountChange",
288
+ value: function _onColumnCountChange(event) {
289
+ var columnCount = parseInt(event.target.value, 10) || 0;
290
+ this.setState({
291
+ columnCount: columnCount
292
+ });
293
+ }
294
+ }, {
295
+ key: "_onRowCountChange",
296
+ value: function _onRowCountChange(event) {
297
+ var rowCount = parseInt(event.target.value, 10) || 0;
298
+ this.setState({
299
+ rowCount: rowCount
300
+ });
301
+ }
302
+ }, {
303
+ key: "_onScrollToColumnChange",
304
+ value: function _onScrollToColumnChange(event) {
305
+ var columnCount = this.state.columnCount;
306
+ var scrollToColumn = Math.min(columnCount - 1, parseInt(event.target.value, 10));
307
+ if (isNaN(scrollToColumn)) {
308
+ scrollToColumn = undefined;
309
+ }
310
+ this.setState({
311
+ scrollToColumn: scrollToColumn
312
+ });
313
+ }
314
+ }, {
315
+ key: "_onScrollToRowChange",
316
+ value: function _onScrollToRowChange(event) {
317
+ var rowCount = this.state.rowCount;
318
+ var scrollToRow = Math.min(rowCount - 1, parseInt(event.target.value, 10));
319
+ if (isNaN(scrollToRow)) {
320
+ scrollToRow = undefined;
321
+ }
322
+ this.setState({
323
+ scrollToRow: scrollToRow
324
+ });
325
+ }
326
+ }]);
327
+ }(React.PureComponent);
328
+ (0, _defineProperty2["default"])(GridExample, "contextTypes", {
329
+ list: _propTypes["default"].instanceOf(_immutable["default"].List).isRequired
330
+ });