@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
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Brian Vaughn
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
package/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # @depup/react-virtualized
2
+
3
+ > Dependency-bumped version of [react-virtualized](https://www.npmjs.com/package/react-virtualized)
4
+
5
+ Generated by [DepUp](https://github.com/depup/npm) -- all production
6
+ dependencies bumped to latest versions.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @depup/react-virtualized
12
+ ```
13
+
14
+ | Field | Value |
15
+ |-------|-------|
16
+ | Original | [react-virtualized](https://www.npmjs.com/package/react-virtualized) @ 9.22.6 |
17
+ | Processed | 2026-03-17 |
18
+ | Smoke test | failed |
19
+ | Deps updated | 4 |
20
+
21
+ ## Dependency Changes
22
+
23
+ | Dependency | From | To |
24
+ |------------|------|-----|
25
+ | @babel/runtime | ^7.7.2 | ^7.29.2 |
26
+ | clsx | ^1.0.4 | ^2.1.1 |
27
+ | dom-helpers | ^5.1.3 | ^6.0.1 |
28
+ | prop-types | ^15.7.2 | ^15.8.1 |
29
+
30
+ ---
31
+
32
+ Source: https://github.com/depup/npm | Original: https://www.npmjs.com/package/react-virtualized
33
+
34
+ License inherited from the original package.
package/changes.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "bumped": {
3
+ "@babel/runtime": {
4
+ "from": "^7.7.2",
5
+ "to": "^7.29.2"
6
+ },
7
+ "clsx": {
8
+ "from": "^1.0.4",
9
+ "to": "^2.1.1"
10
+ },
11
+ "dom-helpers": {
12
+ "from": "^5.1.3",
13
+ "to": "^6.0.1"
14
+ },
15
+ "prop-types": {
16
+ "from": "^15.7.2",
17
+ "to": "^15.8.1"
18
+ }
19
+ },
20
+ "timestamp": "2026-03-17T18:44:06.943Z",
21
+ "totalUpdated": 4
22
+ }
@@ -0,0 +1,184 @@
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 React = _interopRequireWildcard(require("react"));
16
+ var _ContentBox = require("../demo/ContentBox");
17
+ var _ = _interopRequireDefault(require("./"));
18
+ var _AutoSizer = _interopRequireDefault(require("../AutoSizer"));
19
+ var _Grid = _interopRequireDefault(require("../Grid"));
20
+ var _clsx2 = _interopRequireDefault(require("clsx"));
21
+ var _ArrowKeyStepperExample2 = _interopRequireDefault(require("./ArrowKeyStepper.example.css"));
22
+ 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); }
23
+ 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; }
24
+ 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)); }
25
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*:: import { type ScrollIndices } from './';*/
26
+ /*:: type State = {
27
+ mode: 'edges' | 'cells',
28
+ isClickable: boolean,
29
+ scrollToColumn: number,
30
+ scrollToRow: number,
31
+ };*/
32
+ var ArrowKeyStepperExample = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
33
+ function ArrowKeyStepperExample() {
34
+ var _this;
35
+ (0, _classCallCheck2["default"])(this, ArrowKeyStepperExample);
36
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
+ args[_key] = arguments[_key];
38
+ }
39
+ _this = _callSuper(this, ArrowKeyStepperExample, [].concat(args));
40
+ (0, _defineProperty2["default"])(_this, "state", {
41
+ mode: 'edges',
42
+ isClickable: true,
43
+ scrollToColumn: 0,
44
+ scrollToRow: 0
45
+ });
46
+ (0, _defineProperty2["default"])(_this, "_getColumnWidth", function (_ref /*:: */) {
47
+ var index = _ref /*:: */.index;
48
+ return (1 + index % 3) * 60;
49
+ });
50
+ (0, _defineProperty2["default"])(_this, "_getRowHeight", function (_ref2 /*:: */) {
51
+ var index = _ref2 /*:: */.index;
52
+ return (1 + index % 3) * 30;
53
+ });
54
+ (0, _defineProperty2["default"])(_this, "_cellRenderer", function (_ref3 /*:: */) {
55
+ var columnIndex = _ref3 /*:: */.columnIndex,
56
+ key = _ref3 /*:: */.key,
57
+ rowIndex = _ref3 /*:: */.rowIndex,
58
+ scrollToColumn = _ref3 /*:: */.scrollToColumn,
59
+ scrollToRow = _ref3 /*:: */.scrollToRow,
60
+ style = _ref3 /*:: */.style;
61
+ var className = (0, _clsx2["default"])(_ArrowKeyStepperExample2["default"].Cell, (0, _defineProperty2["default"])({}, _ArrowKeyStepperExample2["default"].FocusedCell, columnIndex === scrollToColumn && rowIndex === scrollToRow));
62
+ return /*#__PURE__*/React.createElement("span", {
63
+ role: "none",
64
+ className: className,
65
+ key: key,
66
+ onClick: _this.state.isClickable && function () {
67
+ return _this._selectCell({
68
+ scrollToColumn: columnIndex,
69
+ scrollToRow: rowIndex
70
+ });
71
+ },
72
+ style: style
73
+ }, "r:".concat(rowIndex, ", c:").concat(columnIndex));
74
+ });
75
+ (0, _defineProperty2["default"])(_this, "_selectCell", function (_ref4 /*:: */) {
76
+ var scrollToColumn = _ref4 /*:: */.scrollToColumn,
77
+ scrollToRow = _ref4 /*:: */.scrollToRow;
78
+ _this.setState({
79
+ scrollToColumn: scrollToColumn,
80
+ scrollToRow: scrollToRow
81
+ });
82
+ });
83
+ (0, _defineProperty2["default"])(_this, "_onClickableChange", function (event /*: Event*/) {
84
+ if (event.target instanceof HTMLInputElement) {
85
+ _this.setState({
86
+ isClickable: event.target.checked,
87
+ scrollToColumn: 0,
88
+ scrollToRow: 0
89
+ });
90
+ }
91
+ });
92
+ return _this;
93
+ }
94
+ (0, _inherits2["default"])(ArrowKeyStepperExample, _React$PureComponent);
95
+ return (0, _createClass2["default"])(ArrowKeyStepperExample, [{
96
+ key: "render",
97
+ value: function render() {
98
+ var _this2 = this;
99
+ var _this$state = this.state,
100
+ mode = _this$state.mode,
101
+ isClickable = _this$state.isClickable,
102
+ scrollToColumn = _this$state.scrollToColumn,
103
+ scrollToRow = _this$state.scrollToRow;
104
+ return /*#__PURE__*/React.createElement(_ContentBox.ContentBox, null, /*#__PURE__*/React.createElement(_ContentBox.ContentBoxHeader, {
105
+ text: "ArrowKeyStepper",
106
+ sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/ArrowKeyStepper/ArrowKeyStepper.example.js",
107
+ docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/ArrowKeyStepper.md"
108
+ }), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "This high-order component decorates a ", /*#__PURE__*/React.createElement("code", null, "List"), ",", ' ', /*#__PURE__*/React.createElement("code", null, "Table"), ", or ", /*#__PURE__*/React.createElement("code", null, "Grid"), " and responds to arrow-key events by scrolling one row or column at a time. Focus in the `Grid` below and use the left, right, up, or down arrow keys to move around within the grid."), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "Note that unlike the other HOCs in react-virtualized, the", ' ', /*#__PURE__*/React.createElement("code", null, "ArrowKeyStepper"), " adds a ", /*#__PURE__*/React.createElement("code", null, "<div>"), " element around its children in order to attach a key-down event handler."), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, /*#__PURE__*/React.createElement("strong", null, "mode"), ":", /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("input", {
109
+ "aria-label": "Set mode equal to \"cells\"",
110
+ checked: mode === 'cells',
111
+ className: _ArrowKeyStepperExample2["default"].Radio,
112
+ type: "radio",
113
+ onChange: function onChange(event) {
114
+ return event.target.checked && _this2.setState({
115
+ mode: 'cells'
116
+ });
117
+ },
118
+ value: "cells"
119
+ }), "cells"), /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("input", {
120
+ "aria-label": "Set mode equal to \"edges\"",
121
+ checked: mode === 'edges',
122
+ className: _ArrowKeyStepperExample2["default"].Radio,
123
+ type: "radio",
124
+ onChange: function onChange(event) {
125
+ return event.target.checked && _this2.setState({
126
+ mode: 'edges'
127
+ });
128
+ },
129
+ value: "edges"
130
+ }), "edges (default)")), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, /*#__PURE__*/React.createElement("label", {
131
+ className: _ArrowKeyStepperExample2["default"].checkboxLabel
132
+ }, /*#__PURE__*/React.createElement("input", {
133
+ "aria-label": "Enable click selection? (resets selection)",
134
+ className: _ArrowKeyStepperExample2["default"].checkbox,
135
+ type: "checkbox",
136
+ checked: isClickable,
137
+ onChange: this._onClickableChange
138
+ }), "Enable click selection? (resets selection)")), /*#__PURE__*/React.createElement(_["default"], {
139
+ columnCount: 100,
140
+ isControlled: isClickable,
141
+ onScrollToChange: isClickable ? this._selectCell : undefined,
142
+ mode: mode,
143
+ rowCount: 100,
144
+ scrollToColumn: scrollToColumn,
145
+ scrollToRow: scrollToRow
146
+ }, function (_ref5) {
147
+ var onSectionRendered = _ref5.onSectionRendered,
148
+ scrollToColumn = _ref5.scrollToColumn,
149
+ scrollToRow = _ref5.scrollToRow;
150
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "Most-recently-stepped column: ".concat(scrollToColumn, ", row: ").concat(scrollToRow)), /*#__PURE__*/React.createElement(_AutoSizer["default"], {
151
+ disableHeight: true
152
+ }, function (_ref6) {
153
+ var width = _ref6.width;
154
+ return /*#__PURE__*/React.createElement(_Grid["default"], {
155
+ className: _ArrowKeyStepperExample2["default"].Grid,
156
+ columnWidth: _this2._getColumnWidth,
157
+ columnCount: 100,
158
+ height: 200,
159
+ onSectionRendered: onSectionRendered,
160
+ cellRenderer: function cellRenderer(_ref7) {
161
+ var columnIndex = _ref7.columnIndex,
162
+ key = _ref7.key,
163
+ rowIndex = _ref7.rowIndex,
164
+ style = _ref7.style;
165
+ return _this2._cellRenderer({
166
+ columnIndex: columnIndex,
167
+ key: key,
168
+ rowIndex: rowIndex,
169
+ scrollToColumn: scrollToColumn,
170
+ scrollToRow: scrollToRow,
171
+ style: style
172
+ });
173
+ },
174
+ rowHeight: _this2._getRowHeight,
175
+ rowCount: 100,
176
+ scrollToColumn: scrollToColumn,
177
+ scrollToRow: scrollToRow,
178
+ width: width
179
+ });
180
+ }));
181
+ }));
182
+ }
183
+ }]);
184
+ }(React.PureComponent);
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+ var React = _interopRequireWildcard(require("react"));
7
+ var _reactDom = require("react-dom");
8
+ var _TestUtils = require("../TestUtils");
9
+ var _ArrowKeyStepper = _interopRequireDefault(require("./ArrowKeyStepper"));
10
+ var _testUtils = require("react-dom/test-utils");
11
+ 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); }
12
+ 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; }
13
+ function renderTextContent(scrollToColumn, scrollToRow) {
14
+ return "scrollToColumn:".concat(scrollToColumn, ", scrollToRow:").concat(scrollToRow);
15
+ }
16
+ function ChildComponent(_ref) {
17
+ var scrollToColumn = _ref.scrollToColumn,
18
+ scrollToRow = _ref.scrollToRow;
19
+ return /*#__PURE__*/React.createElement("div", null, renderTextContent(scrollToColumn, scrollToRow));
20
+ }
21
+ describe('ArrowKeyStepper', function () {
22
+ function renderHelper() {
23
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
+ var onSectionRenderedCallback;
25
+ var component = (0, _TestUtils.render)(/*#__PURE__*/React.createElement(_ArrowKeyStepper["default"], (0, _extends2["default"])({
26
+ columnCount: 10,
27
+ mode: "edges",
28
+ rowCount: 10
29
+ }, props), function (_ref2) {
30
+ var onSectionRendered = _ref2.onSectionRendered,
31
+ scrollToColumn = _ref2.scrollToColumn,
32
+ scrollToRow = _ref2.scrollToRow;
33
+ onSectionRenderedCallback = onSectionRendered;
34
+ return /*#__PURE__*/React.createElement(ChildComponent, {
35
+ scrollToColumn: scrollToColumn,
36
+ scrollToRow: scrollToRow
37
+ });
38
+ }));
39
+ var node = (0, _reactDom.findDOMNode)(component);
40
+ return {
41
+ component: component,
42
+ node: node,
43
+ onSectionRendered: onSectionRenderedCallback
44
+ };
45
+ }
46
+ function assertCurrentScrollTo(node, scrollToColumn, scrollToRow) {
47
+ expect(node.textContent).toEqual(renderTextContent(scrollToColumn, scrollToRow));
48
+ }
49
+ it('should use a custom :className if one is specified', function () {
50
+ var _renderHelper = renderHelper({
51
+ className: 'foo'
52
+ }),
53
+ node = _renderHelper.node;
54
+ expect(node.className).toEqual('foo');
55
+ });
56
+ it('should update :scrollToColumn and :scrollToRow in response to arrow keys', function () {
57
+ var _renderHelper2 = renderHelper(),
58
+ node = _renderHelper2.node;
59
+ assertCurrentScrollTo(node, 0, 0);
60
+ _testUtils.Simulate.keyDown(node, {
61
+ key: 'ArrowDown'
62
+ });
63
+ assertCurrentScrollTo(node, 0, 1);
64
+ _testUtils.Simulate.keyDown(node, {
65
+ key: 'ArrowRight'
66
+ });
67
+ assertCurrentScrollTo(node, 1, 1);
68
+ _testUtils.Simulate.keyDown(node, {
69
+ key: 'ArrowUp'
70
+ });
71
+ assertCurrentScrollTo(node, 1, 0);
72
+ _testUtils.Simulate.keyDown(node, {
73
+ key: 'ArrowLeft'
74
+ });
75
+ assertCurrentScrollTo(node, 0, 0);
76
+ });
77
+ it('should not scroll past the row and column boundaries provided', function () {
78
+ var _renderHelper3 = renderHelper({
79
+ columnCount: 2,
80
+ rowCount: 2
81
+ }),
82
+ node = _renderHelper3.node;
83
+ _testUtils.Simulate.keyDown(node, {
84
+ key: 'ArrowDown'
85
+ });
86
+ _testUtils.Simulate.keyDown(node, {
87
+ key: 'ArrowDown'
88
+ });
89
+ _testUtils.Simulate.keyDown(node, {
90
+ key: 'ArrowDown'
91
+ });
92
+ assertCurrentScrollTo(node, 0, 1);
93
+ _testUtils.Simulate.keyDown(node, {
94
+ key: 'ArrowUp'
95
+ });
96
+ _testUtils.Simulate.keyDown(node, {
97
+ key: 'ArrowUp'
98
+ });
99
+ _testUtils.Simulate.keyDown(node, {
100
+ key: 'ArrowUp'
101
+ });
102
+ assertCurrentScrollTo(node, 0, 0);
103
+ _testUtils.Simulate.keyDown(node, {
104
+ key: 'ArrowRight'
105
+ });
106
+ _testUtils.Simulate.keyDown(node, {
107
+ key: 'ArrowRight'
108
+ });
109
+ _testUtils.Simulate.keyDown(node, {
110
+ key: 'ArrowRight'
111
+ });
112
+ assertCurrentScrollTo(node, 1, 0);
113
+ _testUtils.Simulate.keyDown(node, {
114
+ key: 'ArrowLeft'
115
+ });
116
+ _testUtils.Simulate.keyDown(node, {
117
+ key: 'ArrowLeft'
118
+ });
119
+ _testUtils.Simulate.keyDown(node, {
120
+ key: 'ArrowLeft'
121
+ });
122
+ assertCurrentScrollTo(node, 0, 0);
123
+ });
124
+ it('should accept initial :scrollToColumn and :scrollToRow values via props', function () {
125
+ var _renderHelper4 = renderHelper({
126
+ mode: 'cells',
127
+ scrollToColumn: 2,
128
+ scrollToRow: 4
129
+ }),
130
+ node = _renderHelper4.node;
131
+ assertCurrentScrollTo(node, 2, 4);
132
+ _testUtils.Simulate.keyDown(node, {
133
+ key: 'ArrowDown'
134
+ });
135
+ assertCurrentScrollTo(node, 2, 5);
136
+ _testUtils.Simulate.keyDown(node, {
137
+ key: 'ArrowRight'
138
+ });
139
+ assertCurrentScrollTo(node, 3, 5);
140
+ });
141
+ it('should accept updated :scrollToColumn and :scrollToRow values via props', function () {
142
+ var _renderHelper5 = renderHelper({
143
+ mode: 'cells',
144
+ scrollToColumn: 2,
145
+ scrollToRow: 4
146
+ }),
147
+ node = _renderHelper5.node;
148
+ _testUtils.Simulate.keyDown(node, {
149
+ key: 'ArrowDown'
150
+ });
151
+ assertCurrentScrollTo(node, 2, 5);
152
+ renderHelper({
153
+ mode: 'cells',
154
+ scrollToColumn: 1,
155
+ scrollToRow: 1
156
+ });
157
+ _testUtils.Simulate.keyDown(node, {
158
+ key: 'ArrowRight'
159
+ });
160
+ assertCurrentScrollTo(node, 2, 1);
161
+ _testUtils.Simulate.keyDown(node, {
162
+ key: 'ArrowDown'
163
+ });
164
+ assertCurrentScrollTo(node, 2, 2);
165
+ });
166
+ it('should accept updated :scrollToColumn and :scrollToRow values via setScrollIndexes()', function () {
167
+ var _renderHelper6 = renderHelper({
168
+ mode: 'cells',
169
+ scrollToColumn: 2,
170
+ scrollToRow: 4
171
+ }),
172
+ component = _renderHelper6.component,
173
+ node = _renderHelper6.node;
174
+ _testUtils.Simulate.keyDown(node, {
175
+ key: 'ArrowDown'
176
+ });
177
+ assertCurrentScrollTo(node, 2, 5);
178
+ component.setScrollIndexes({
179
+ scrollToColumn: 1,
180
+ scrollToRow: 1
181
+ });
182
+ _testUtils.Simulate.keyDown(node, {
183
+ key: 'ArrowRight'
184
+ });
185
+ assertCurrentScrollTo(node, 2, 1);
186
+ _testUtils.Simulate.keyDown(node, {
187
+ key: 'ArrowDown'
188
+ });
189
+ assertCurrentScrollTo(node, 2, 2);
190
+ });
191
+ it('should not update :scrollToColumn or :scrollToRow when :disabled', function () {
192
+ var _renderHelper7 = renderHelper({
193
+ disabled: true
194
+ }),
195
+ node = _renderHelper7.node;
196
+ assertCurrentScrollTo(node, 0, 0);
197
+ _testUtils.Simulate.keyDown(node, {
198
+ key: 'ArrowDown'
199
+ });
200
+ assertCurrentScrollTo(node, 0, 0);
201
+ _testUtils.Simulate.keyDown(node, {
202
+ key: 'ArrowRight'
203
+ });
204
+ assertCurrentScrollTo(node, 0, 0);
205
+ });
206
+ it('should call :onScrollToChange for key down', function () {
207
+ [true, false].forEach(function () {
208
+ var onScrollToChange = jest.fn();
209
+ var _renderHelper8 = renderHelper({
210
+ isControlled: true,
211
+ onScrollToChange: onScrollToChange
212
+ }),
213
+ node = _renderHelper8.node;
214
+ expect(onScrollToChange.mock.calls).toHaveLength(0);
215
+ _testUtils.Simulate.keyDown(node, {
216
+ key: 'ArrowDown'
217
+ });
218
+ expect(onScrollToChange.mock.calls).toHaveLength(1);
219
+ var _onScrollToChange$moc = onScrollToChange.mock.calls[0][0],
220
+ scrollToColumn = _onScrollToChange$moc.scrollToColumn,
221
+ scrollToRow = _onScrollToChange$moc.scrollToRow;
222
+ expect(scrollToColumn).toEqual(0);
223
+ expect(scrollToRow).toEqual(1);
224
+ });
225
+ });
226
+ it('should not call :onScrollToChange for prop update', function () {
227
+ var numCalls = 0;
228
+ var onScrollToChange = function onScrollToChange() {
229
+ numCalls++;
230
+ };
231
+ var _renderHelper9 = renderHelper({
232
+ onScrollToChange: onScrollToChange,
233
+ scrollToColumn: 0,
234
+ scrollToRow: 0
235
+ }),
236
+ node = _renderHelper9.node;
237
+ renderHelper({
238
+ isControlled: true,
239
+ onScrollToChange: onScrollToChange,
240
+ node: node,
241
+ scrollToColumn: 0,
242
+ scrollToRow: 1
243
+ });
244
+ expect(numCalls).toEqual(0);
245
+ });
246
+ describe('mode === "edges"', function () {
247
+ it('should update :scrollToColumn and :scrollToRow relative to the most recent :onSectionRendered event', function () {
248
+ var _renderHelper10 = renderHelper(),
249
+ node = _renderHelper10.node,
250
+ onSectionRendered = _renderHelper10.onSectionRendered;
251
+ onSectionRendered({
252
+ // Simulate a scroll
253
+ columnStartIndex: 0,
254
+ columnStopIndex: 4,
255
+ rowStartIndex: 4,
256
+ rowStopIndex: 6
257
+ });
258
+ _testUtils.Simulate.keyDown(node, {
259
+ key: 'ArrowDown'
260
+ });
261
+ assertCurrentScrollTo(node, 0, 7);
262
+ onSectionRendered({
263
+ // Simulate a scroll
264
+ columnStartIndex: 5,
265
+ columnStopIndex: 10,
266
+ rowStartIndex: 2,
267
+ rowStopIndex: 4
268
+ });
269
+ _testUtils.Simulate.keyDown(node, {
270
+ key: 'ArrowUp'
271
+ });
272
+ assertCurrentScrollTo(node, 0, 1);
273
+ onSectionRendered({
274
+ // Simulate a scroll
275
+ columnStartIndex: 4,
276
+ columnStopIndex: 8,
277
+ rowStartIndex: 5,
278
+ rowStopIndex: 10
279
+ });
280
+ _testUtils.Simulate.keyDown(node, {
281
+ key: 'ArrowRight'
282
+ });
283
+ assertCurrentScrollTo(node, 9, 1);
284
+ onSectionRendered({
285
+ // Simulate a scroll
286
+ columnStartIndex: 2,
287
+ columnStopIndex: 4,
288
+ rowStartIndex: 2,
289
+ rowStopIndex: 4
290
+ });
291
+ _testUtils.Simulate.keyDown(node, {
292
+ key: 'ArrowLeft'
293
+ });
294
+ assertCurrentScrollTo(node, 1, 1);
295
+ });
296
+ });
297
+ describe('mode === "cells"', function () {
298
+ it('should update :scrollToColumn and :scrollToRow relative to the most recent :onSectionRendered event', function () {
299
+ var _renderHelper11 = renderHelper({
300
+ mode: 'cells',
301
+ scrollToColumn: 5,
302
+ scrollToRow: 5
303
+ }),
304
+ node = _renderHelper11.node,
305
+ onSectionRendered = _renderHelper11.onSectionRendered;
306
+ onSectionRendered({
307
+ // Simulate a scroll
308
+ columnStartIndex: 10,
309
+ columnStopIndex: 10,
310
+ rowStartIndex: 15,
311
+ rowStopIndex: 15
312
+ });
313
+ _testUtils.Simulate.keyDown(node, {
314
+ key: 'ArrowUp'
315
+ });
316
+ assertCurrentScrollTo(node, 5, 4);
317
+ _testUtils.Simulate.keyDown(node, {
318
+ key: 'ArrowDown'
319
+ });
320
+ assertCurrentScrollTo(node, 5, 5);
321
+ onSectionRendered({
322
+ // Simulate a scroll
323
+ columnStartIndex: 10,
324
+ columnStopIndex: 10,
325
+ rowStartIndex: 15,
326
+ rowStopIndex: 15
327
+ });
328
+ _testUtils.Simulate.keyDown(node, {
329
+ key: 'ArrowRight'
330
+ });
331
+ assertCurrentScrollTo(node, 6, 5);
332
+ _testUtils.Simulate.keyDown(node, {
333
+ key: 'ArrowLeft'
334
+ });
335
+ assertCurrentScrollTo(node, 5, 5);
336
+ });
337
+ });
338
+ });