react-virtuoso 2.2.9-beta.0 → 2.3.2

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 (140) hide show
  1. package/dist/Grid.d.ts +39 -32
  2. package/dist/List.d.ts +291 -41
  3. package/dist/alignToBottomSystem.d.ts +29 -1
  4. package/dist/components.d.ts +4 -0
  5. package/dist/domIOSystem.d.ts +1 -0
  6. package/dist/followOutputSystem.d.ts +17 -1
  7. package/dist/gridSystem.d.ts +31 -30
  8. package/dist/groupedListSystem.d.ts +2 -0
  9. package/dist/hooks/__mocks__/useScrollTop.d.ts +1 -1
  10. package/dist/hooks/useChangedChildSizes.d.ts +1 -1
  11. package/dist/hooks/useScrollTop.d.ts +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.m.js +1 -1
  15. package/dist/index.m.js.map +1 -1
  16. package/dist/initialItemCountSystem.d.ts +25 -1
  17. package/dist/initialScrollTopSystem.d.ts +29 -1
  18. package/dist/initialTopMostItemIndexSystem.d.ts +4 -0
  19. package/dist/listStateSystem.d.ts +22 -1
  20. package/dist/listSystem.d.ts +271 -38
  21. package/dist/scrollIntoViewSystem.d.ts +29 -1
  22. package/dist/scrollSeekSystem.d.ts +52 -67
  23. package/dist/scrollToIndexSystem.d.ts +2 -0
  24. package/dist/sizeRangeSystem.d.ts +2 -0
  25. package/dist/stateFlagsSystem.d.ts +11 -2
  26. package/dist/topItemCountSystem.d.ts +25 -1
  27. package/dist/totalListHeightSystem.d.ts +27 -1
  28. package/dist/upwardScrollFixSystem.d.ts +37 -3
  29. package/dist/windowScrollerSystem.d.ts +2 -0
  30. package/package.json +3 -3
  31. package/dist/__examples.cc6a8f9f.js +0 -171811
  32. package/dist/__examples.cc6a8f9f.js.map +0 -1
  33. package/dist/__examples.html +0 -27
  34. package/dist/__examples.js +0 -392
  35. package/dist/__examples.js.map +0 -1
  36. package/dist/align-to-bottom.7fcd2087.js +0 -401
  37. package/dist/align-to-bottom.7fcd2087.js.map +0 -1
  38. package/dist/at-bottom-detection.a5d019c3.js +0 -441
  39. package/dist/at-bottom-detection.a5d019c3.js.map +0 -1
  40. package/dist/auto-prepend-items.bd7e9b90.js +0 -468
  41. package/dist/auto-prepend-items.bd7e9b90.js.map +0 -1
  42. package/dist/benchmark.66d31485.js +0 -366
  43. package/dist/benchmark.66d31485.js.map +0 -1
  44. package/dist/chat.d4f93b8b.js +0 -570
  45. package/dist/chat.d4f93b8b.js.map +0 -1
  46. package/dist/context.a45abc98.js +0 -380
  47. package/dist/context.a45abc98.js.map +0 -1
  48. package/dist/contextSystem.d.ts +0 -4
  49. package/dist/custom-components.5aeaa7ef.js +0 -407
  50. package/dist/custom-components.5aeaa7ef.js.map +0 -1
  51. package/dist/custom-scroller.b0240d14.js +0 -385
  52. package/dist/custom-scroller.b0240d14.js.map +0 -1
  53. package/dist/data.26707046.js +0 -391
  54. package/dist/data.26707046.js.map +0 -1
  55. package/dist/decrease-items.e2211e50.js +0 -385
  56. package/dist/decrease-items.e2211e50.js.map +0 -1
  57. package/dist/default-item-height.b77ada36.js +0 -360
  58. package/dist/default-item-height.b77ada36.js.map +0 -1
  59. package/dist/empty-placeholder.00607a6e.js +0 -390
  60. package/dist/empty-placeholder.00607a6e.js.map +0 -1
  61. package/dist/end-reached.8531e5b1.js +0 -404
  62. package/dist/end-reached.8531e5b1.js.map +0 -1
  63. package/dist/endless-scrolling.bc4101f0.js +0 -410
  64. package/dist/endless-scrolling.bc4101f0.js.map +0 -1
  65. package/dist/expandable-cards.5439f51b.js +0 -427
  66. package/dist/expandable-cards.5439f51b.js.map +0 -1
  67. package/dist/follow-output.4e36fca8.js +0 -430
  68. package/dist/follow-output.4e36fca8.js.map +0 -1
  69. package/dist/grid-optimize-rendering.b49e36f5.js +0 -452
  70. package/dist/grid-optimize-rendering.b49e36f5.js.map +0 -1
  71. package/dist/grid-scroll-seek-placeholder.b2862006.js +0 -415
  72. package/dist/grid-scroll-seek-placeholder.b2862006.js.map +0 -1
  73. package/dist/grid.d5d77b6a.js +0 -449
  74. package/dist/grid.d5d77b6a.js.map +0 -1
  75. package/dist/grouped-endless-scrolling.24985a0f.js +0 -506
  76. package/dist/grouped-endless-scrolling.24985a0f.js.map +0 -1
  77. package/dist/grouped-load-more.bce8f6e4.js +0 -505
  78. package/dist/grouped-load-more.bce8f6e4.js.map +0 -1
  79. package/dist/grouped-topmost-item.34960f5e.js +0 -366
  80. package/dist/grouped-topmost-item.34960f5e.js.map +0 -1
  81. package/dist/grouped.a2908632.js +0 -365
  82. package/dist/grouped.a2908632.js.map +0 -1
  83. package/dist/header-footer.49733d45.js +0 -376
  84. package/dist/header-footer.49733d45.js.map +0 -1
  85. package/dist/hello.54765c26.js +0 -360
  86. package/dist/hello.54765c26.js.map +0 -1
  87. package/dist/initial-from-zero.22ad1626.js +0 -400
  88. package/dist/initial-from-zero.22ad1626.js.map +0 -1
  89. package/dist/initial-scroll-top.90db1920.js +0 -361
  90. package/dist/initial-scroll-top.90db1920.js.map +0 -1
  91. package/dist/initial-topmost-item-default-height.43a95247.js +0 -362
  92. package/dist/initial-topmost-item-default-height.43a95247.js.map +0 -1
  93. package/dist/initial-topmost-item.61c0e169.js +0 -363
  94. package/dist/initial-topmost-item.61c0e169.js.map +0 -1
  95. package/dist/long-last-item.b56ff89c.js +0 -361
  96. package/dist/long-last-item.b56ff89c.js.map +0 -1
  97. package/dist/prepend-items.f2bda34b.js +0 -393
  98. package/dist/prepend-items.f2bda34b.js.map +0 -1
  99. package/dist/prepend-last-tall-item.168a9e65.js +0 -380
  100. package/dist/prepend-last-tall-item.168a9e65.js.map +0 -1
  101. package/dist/react-beautiful-dnd-window-scroller.0a227511.js +0 -485
  102. package/dist/react-beautiful-dnd-window-scroller.0a227511.js.map +0 -1
  103. package/dist/react-beautiful-dnd.817e9251.js +0 -482
  104. package/dist/react-beautiful-dnd.817e9251.js.map +0 -1
  105. package/dist/rerender.ddd61b7c.js +0 -400
  106. package/dist/rerender.ddd61b7c.js.map +0 -1
  107. package/dist/resize-loop.309b1dac.js +0 -388
  108. package/dist/resize-loop.309b1dac.js.map +0 -1
  109. package/dist/resizing-items.c09b5e1b.js +0 -394
  110. package/dist/resizing-items.c09b5e1b.js.map +0 -1
  111. package/dist/scroll-into-view.39b77fe9.js +0 -408
  112. package/dist/scroll-into-view.39b77fe9.js.map +0 -1
  113. package/dist/scroll-seek-placeholder.69fb85c6.js +0 -384
  114. package/dist/scroll-seek-placeholder.69fb85c6.js.map +0 -1
  115. package/dist/scroll-to-index.e72249cf.js +0 -417
  116. package/dist/scroll-to-index.e72249cf.js.map +0 -1
  117. package/dist/ssr.8f31b042.js +0 -359
  118. package/dist/ssr.8f31b042.js.map +0 -1
  119. package/dist/start-reached.2990ece7.js +0 -424
  120. package/dist/start-reached.2990ece7.js.map +0 -1
  121. package/dist/tall-item-reverse-scrolling.58bcd140.js +0 -363
  122. package/dist/tall-item-reverse-scrolling.58bcd140.js.map +0 -1
  123. package/dist/test-case-446.dce9595c.js +0 -428
  124. package/dist/test-case-446.dce9595c.js.map +0 -1
  125. package/dist/test-case-460.6d75ad1f.js +0 -451
  126. package/dist/test-case-460.6d75ad1f.js.map +0 -1
  127. package/dist/test-case-463.525f34ba.js +0 -375
  128. package/dist/test-case-463.525f34ba.js.map +0 -1
  129. package/dist/toggle-display-grouped.4f4ae058.js +0 -389
  130. package/dist/toggle-display-grouped.4f4ae058.js.map +0 -1
  131. package/dist/toggle.7047c23e.js +0 -447
  132. package/dist/toggle.7047c23e.js.map +0 -1
  133. package/dist/top-items.f724bf61.js +0 -358
  134. package/dist/top-items.f724bf61.js.map +0 -1
  135. package/dist/upward-scroll.d49e0815.js +0 -362
  136. package/dist/upward-scroll.d49e0815.js.map +0 -1
  137. package/dist/window-grid.b22094fd.js +0 -439
  138. package/dist/window-grid.b22094fd.js.map +0 -1
  139. package/dist/window-scroller.a979c6d6.js +0 -368
  140. package/dist/window-scroller.a979c6d6.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import * as u from '@virtuoso.dev/urx';
2
2
  export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
3
+ scrollContainerState: u.Stream<[number, number]>;
3
4
  scrollTop: u.Stream<number>;
4
5
  viewportHeight: u.Stream<number>;
5
6
  headerHeight: u.StatefulStream<number>;
@@ -12,6 +13,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
12
13
  deviation: u.StatefulStream<number>;
13
14
  scrollingInProgress: u.StatefulStream<boolean>;
14
15
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
16
+ scrollContainerState: u.Stream<[number, number]>;
15
17
  scrollTop: u.Stream<number>;
16
18
  viewportHeight: u.Stream<number>;
17
19
  headerHeight: u.StatefulStream<number>;
@@ -64,6 +66,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
64
66
  trackItemSizes: u.StatefulStream<boolean>;
65
67
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
66
68
  }>, u.SystemSpec<never[], () => {
69
+ scrollContainerState: u.Stream<[number, number]>;
67
70
  scrollTop: u.Stream<number>;
68
71
  viewportHeight: u.Stream<number>;
69
72
  headerHeight: u.StatefulStream<number>;
@@ -90,6 +93,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
90
93
  trackItemSizes: u.StatefulStream<boolean>;
91
94
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
92
95
  }, {
96
+ scrollContainerState: u.Stream<[number, number]>;
93
97
  scrollTop: u.Stream<number>;
94
98
  viewportHeight: u.Stream<number>;
95
99
  headerHeight: u.StatefulStream<number>;
@@ -105,6 +109,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
105
109
  groupCounts: u.Stream<number[]>;
106
110
  topItemsIndexes: u.Stream<[number]>;
107
111
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
112
+ scrollContainerState: u.Stream<[number, number]>;
108
113
  scrollTop: u.Stream<number>;
109
114
  viewportHeight: u.Stream<number>;
110
115
  headerHeight: u.StatefulStream<number>;
@@ -117,6 +122,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
117
122
  deviation: u.StatefulStream<number>;
118
123
  scrollingInProgress: u.StatefulStream<boolean>;
119
124
  }>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
125
+ scrollContainerState: u.Stream<[number, number]>;
120
126
  scrollTop: u.Stream<number>;
121
127
  viewportHeight: u.Stream<number>;
122
128
  headerHeight: u.StatefulStream<number>;
@@ -155,6 +161,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
155
161
  trackItemSizes: u.StatefulStream<boolean>;
156
162
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
157
163
  }>, u.SystemSpec<never[], () => {
164
+ scrollContainerState: u.Stream<[number, number]>;
158
165
  scrollTop: u.Stream<number>;
159
166
  viewportHeight: u.Stream<number>;
160
167
  headerHeight: u.StatefulStream<number>;
@@ -187,6 +194,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
187
194
  trackItemSizes: u.StatefulStream<boolean>;
188
195
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
189
196
  }>, u.SystemSpec<never[], () => {
197
+ scrollContainerState: u.Stream<[number, number]>;
190
198
  scrollTop: u.Stream<number>;
191
199
  viewportHeight: u.Stream<number>;
192
200
  headerHeight: u.StatefulStream<number>;
@@ -216,6 +224,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
216
224
  trackItemSizes: u.StatefulStream<boolean>;
217
225
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
218
226
  }, {
227
+ scrollContainerState: u.Stream<[number, number]>;
219
228
  scrollTop: u.Stream<number>;
220
229
  viewportHeight: u.Stream<number>;
221
230
  headerHeight: u.StatefulStream<number>;
@@ -257,6 +266,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
257
266
  trackItemSizes: u.StatefulStream<boolean>;
258
267
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
259
268
  }, {
269
+ scrollContainerState: u.Stream<[number, number]>;
260
270
  scrollTop: u.Stream<number>;
261
271
  viewportHeight: u.Stream<number>;
262
272
  headerHeight: u.StatefulStream<number>;
@@ -298,6 +308,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
298
308
  trackItemSizes: u.StatefulStream<boolean>;
299
309
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
300
310
  }>, u.SystemSpec<never[], () => {
311
+ scrollContainerState: u.Stream<[number, number]>;
301
312
  scrollTop: u.Stream<number>;
302
313
  viewportHeight: u.Stream<number>;
303
314
  headerHeight: u.StatefulStream<number>;
@@ -327,6 +338,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
327
338
  trackItemSizes: u.StatefulStream<boolean>;
328
339
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
329
340
  }, {
341
+ scrollContainerState: u.Stream<[number, number]>;
330
342
  scrollTop: u.Stream<number>;
331
343
  viewportHeight: u.Stream<number>;
332
344
  headerHeight: u.StatefulStream<number>;
@@ -345,6 +357,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
345
357
  scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
346
358
  topListHeight: u.StatefulStream<number>;
347
359
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
360
+ scrollContainerState: u.Stream<[number, number]>;
348
361
  scrollTop: u.Stream<number>;
349
362
  viewportHeight: u.Stream<number>;
350
363
  headerHeight: u.StatefulStream<number>;
@@ -356,7 +369,8 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
356
369
  statefulScrollTop: u.StatefulStream<number>;
357
370
  deviation: u.StatefulStream<number>;
358
371
  scrollingInProgress: u.StatefulStream<boolean>;
359
- }>], ([{ scrollTop, viewportHeight, headerHeight, footerHeight, scrollHeight }]: [{
372
+ }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
373
+ scrollContainerState: u.Stream<[number, number]>;
360
374
  scrollTop: u.Stream<number>;
361
375
  viewportHeight: u.Stream<number>;
362
376
  headerHeight: u.StatefulStream<number>;
@@ -376,6 +390,9 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
376
390
  atTopStateChange: u.Stream<boolean>;
377
391
  atBottomStateChange: u.Stream<boolean>;
378
392
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
393
+ atBottomThreshold: u.StatefulStream<number>;
394
+ scrollVelocity: u.StatefulStream<number>;
395
+ lastJumpDueToItemResize: u.StatefulStream<number>;
379
396
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
380
397
  log: u.StatefulStream<import("./loggerSystem").Log>;
381
398
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
@@ -422,6 +439,9 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
422
439
  atTopStateChange: u.Stream<boolean>;
423
440
  atBottomStateChange: u.Stream<boolean>;
424
441
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
442
+ atBottomThreshold: u.StatefulStream<number>;
443
+ scrollVelocity: u.StatefulStream<number>;
444
+ lastJumpDueToItemResize: u.StatefulStream<number>;
425
445
  }, {
426
446
  propsReady: u.StatefulStream<boolean>;
427
447
  didMount: u.Stream<boolean>;
@@ -433,6 +453,9 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
433
453
  atTopStateChange: u.Stream<boolean>;
434
454
  atBottomStateChange: u.Stream<boolean>;
435
455
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
456
+ atBottomThreshold: u.StatefulStream<number>;
457
+ scrollVelocity: u.StatefulStream<number>;
458
+ lastJumpDueToItemResize: u.StatefulStream<number>;
436
459
  listState: u.StatefulStream<import("./listStateSystem").ListState>;
437
460
  topItemsIndexes: u.StatefulStream<number[]>;
438
461
  endReached: u.Stream<number>;
@@ -440,6 +463,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
440
463
  rangeChanged: u.Stream<import("./interfaces").ListRange>;
441
464
  itemsRendered: u.Stream<import("./listStateSystem").ListItems>;
442
465
  }>], ([{ footerHeight, headerHeight }, { listState }]: [{
466
+ scrollContainerState: u.Stream<[number, number]>;
443
467
  scrollTop: u.Stream<number>;
444
468
  viewportHeight: u.Stream<number>;
445
469
  headerHeight: u.StatefulStream<number>;
@@ -459,6 +483,9 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
459
483
  atTopStateChange: u.Stream<boolean>;
460
484
  atBottomStateChange: u.Stream<boolean>;
461
485
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
486
+ atBottomThreshold: u.StatefulStream<number>;
487
+ scrollVelocity: u.StatefulStream<number>;
488
+ lastJumpDueToItemResize: u.StatefulStream<number>;
462
489
  listState: u.StatefulStream<import("./listStateSystem").ListState>;
463
490
  topItemsIndexes: u.StatefulStream<number[]>;
464
491
  endReached: u.Stream<number>;
@@ -469,6 +496,7 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
469
496
  totalListHeight: u.StatefulStream<number>;
470
497
  totalListHeightChanged: u.Stream<number>;
471
498
  }>], ([{ viewportHeight }, { totalListHeight }]: [{
499
+ scrollContainerState: u.Stream<[number, number]>;
472
500
  scrollTop: u.Stream<number>;
473
501
  viewportHeight: u.Stream<number>;
474
502
  headerHeight: u.StatefulStream<number>;
@@ -171,6 +171,10 @@ export interface VirtuosoProps<D> extends Omit<ListProps, 'groupCounts' | 'group
171
171
  * Provides access to the root DOM element
172
172
  */
173
173
  scrollerRef?: (ref: HTMLElement | Window | null) => any;
174
+ /**
175
+ * By default `4`. Redefine to change how much away from the bottom the scroller can be before the list is not considered not at bottom.
176
+ */
177
+ atBottomThreshold?: number;
174
178
  }
175
179
  export interface GroupedVirtuosoProps<D> extends Omit<VirtuosoProps<D>, 'totalCount' | 'itemContent'>, Pick<ListProps, 'groupCounts' | 'groupContent'> {
176
180
  /**
@@ -1,5 +1,6 @@
1
1
  import * as u from '@virtuoso.dev/urx';
2
2
  export declare const domIOSystem: u.SystemSpec<never[], () => {
3
+ scrollContainerState: u.Stream<[number, number]>;
3
4
  scrollTop: u.Stream<number>;
4
5
  viewportHeight: u.Stream<number>;
5
6
  headerHeight: u.StatefulStream<number>;
@@ -22,6 +22,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
22
22
  trackItemSizes: u.StatefulStream<boolean>;
23
23
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
24
24
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
25
+ scrollContainerState: u.Stream<[number, number]>;
25
26
  scrollTop: u.Stream<number>;
26
27
  viewportHeight: u.Stream<number>;
27
28
  headerHeight: u.StatefulStream<number>;
@@ -33,7 +34,8 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
33
34
  statefulScrollTop: u.StatefulStream<number>;
34
35
  deviation: u.StatefulStream<number>;
35
36
  scrollingInProgress: u.StatefulStream<boolean>;
36
- }>], ([{ scrollTop, viewportHeight, headerHeight, footerHeight, scrollHeight }]: [{
37
+ }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
38
+ scrollContainerState: u.Stream<[number, number]>;
37
39
  scrollTop: u.Stream<number>;
38
40
  viewportHeight: u.Stream<number>;
39
41
  headerHeight: u.StatefulStream<number>;
@@ -53,6 +55,9 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
53
55
  atTopStateChange: u.Stream<boolean>;
54
56
  atBottomStateChange: u.Stream<boolean>;
55
57
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
58
+ atBottomThreshold: u.StatefulStream<number>;
59
+ scrollVelocity: u.StatefulStream<number>;
60
+ lastJumpDueToItemResize: u.StatefulStream<number>;
56
61
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
57
62
  log: u.StatefulStream<import("./loggerSystem").Log>;
58
63
  logLevel: u.StatefulStream<LogLevel>;
@@ -74,6 +79,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
74
79
  trackItemSizes: u.StatefulStream<boolean>;
75
80
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
76
81
  }>, u.SystemSpec<never[], () => {
82
+ scrollContainerState: u.Stream<[number, number]>;
77
83
  scrollTop: u.Stream<number>;
78
84
  viewportHeight: u.Stream<number>;
79
85
  headerHeight: u.StatefulStream<number>;
@@ -103,6 +109,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
103
109
  trackItemSizes: u.StatefulStream<boolean>;
104
110
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
105
111
  }, {
112
+ scrollContainerState: u.Stream<[number, number]>;
106
113
  scrollTop: u.Stream<number>;
107
114
  viewportHeight: u.Stream<number>;
108
115
  headerHeight: u.StatefulStream<number>;
@@ -141,6 +148,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
141
148
  trackItemSizes: u.StatefulStream<boolean>;
142
149
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
143
150
  }>, u.SystemSpec<never[], () => {
151
+ scrollContainerState: u.Stream<[number, number]>;
144
152
  scrollTop: u.Stream<number>;
145
153
  viewportHeight: u.Stream<number>;
146
154
  headerHeight: u.StatefulStream<number>;
@@ -173,6 +181,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
173
181
  trackItemSizes: u.StatefulStream<boolean>;
174
182
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
175
183
  }>, u.SystemSpec<never[], () => {
184
+ scrollContainerState: u.Stream<[number, number]>;
176
185
  scrollTop: u.Stream<number>;
177
186
  viewportHeight: u.Stream<number>;
178
187
  headerHeight: u.StatefulStream<number>;
@@ -202,6 +211,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
202
211
  trackItemSizes: u.StatefulStream<boolean>;
203
212
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
204
213
  }, {
214
+ scrollContainerState: u.Stream<[number, number]>;
205
215
  scrollTop: u.Stream<number>;
206
216
  viewportHeight: u.Stream<number>;
207
217
  headerHeight: u.StatefulStream<number>;
@@ -243,6 +253,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
243
253
  trackItemSizes: u.StatefulStream<boolean>;
244
254
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
245
255
  }, {
256
+ scrollContainerState: u.Stream<[number, number]>;
246
257
  scrollTop: u.Stream<number>;
247
258
  viewportHeight: u.Stream<number>;
248
259
  headerHeight: u.StatefulStream<number>;
@@ -276,6 +287,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
276
287
  log: u.StatefulStream<import("./loggerSystem").Log>;
277
288
  logLevel: u.StatefulStream<LogLevel>;
278
289
  }>, u.SystemSpec<never[], () => {
290
+ scrollContainerState: u.Stream<[number, number]>;
279
291
  scrollTop: u.Stream<number>;
280
292
  viewportHeight: u.Stream<number>;
281
293
  headerHeight: u.StatefulStream<number>;
@@ -309,6 +321,9 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
309
321
  atTopStateChange: u.Stream<boolean>;
310
322
  atBottomStateChange: u.Stream<boolean>;
311
323
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
324
+ atBottomThreshold: u.StatefulStream<number>;
325
+ scrollVelocity: u.StatefulStream<number>;
326
+ lastJumpDueToItemResize: u.StatefulStream<number>;
312
327
  }, {
313
328
  scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
314
329
  topListHeight: u.StatefulStream<number>;
@@ -322,6 +337,7 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
322
337
  log: u.StatefulStream<import("./loggerSystem").Log>;
323
338
  logLevel: u.StatefulStream<LogLevel>;
324
339
  }, {
340
+ scrollContainerState: u.Stream<[number, number]>;
325
341
  scrollTop: u.Stream<number>;
326
342
  viewportHeight: u.Stream<number>;
327
343
  headerHeight: u.StatefulStream<number>;
@@ -19,6 +19,7 @@ export interface GridState extends GridLayout {
19
19
  itemWidth: number;
20
20
  }
21
21
  export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
22
+ scrollContainerState: u.Stream<[number, number]>;
22
23
  scrollTop: u.Stream<number>;
23
24
  viewportHeight: u.Stream<number>;
24
25
  headerHeight: u.StatefulStream<number>;
@@ -31,6 +32,7 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
31
32
  deviation: u.StatefulStream<number>;
32
33
  scrollingInProgress: u.StatefulStream<boolean>;
33
34
  }>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
35
+ scrollContainerState: u.Stream<[number, number]>;
34
36
  scrollTop: u.Stream<number>;
35
37
  viewportHeight: u.Stream<number>;
36
38
  headerHeight: u.StatefulStream<number>;
@@ -49,6 +51,7 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
49
51
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
50
52
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
51
53
  }>, u.SystemSpec<never[], () => {
54
+ scrollContainerState: u.Stream<[number, number]>;
52
55
  scrollTop: u.Stream<number>;
53
56
  viewportHeight: u.Stream<number>;
54
57
  headerHeight: u.StatefulStream<number>;
@@ -61,6 +64,7 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
61
64
  deviation: u.StatefulStream<number>;
62
65
  scrollingInProgress: u.StatefulStream<boolean>;
63
66
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
67
+ scrollContainerState: u.Stream<[number, number]>;
64
68
  scrollTop: u.Stream<number>;
65
69
  viewportHeight: u.Stream<number>;
66
70
  headerHeight: u.StatefulStream<number>;
@@ -72,7 +76,8 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
72
76
  statefulScrollTop: u.StatefulStream<number>;
73
77
  deviation: u.StatefulStream<number>;
74
78
  scrollingInProgress: u.StatefulStream<boolean>;
75
- }>], ([{ scrollTop, viewportHeight, headerHeight, footerHeight, scrollHeight }]: [{
79
+ }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
80
+ scrollContainerState: u.Stream<[number, number]>;
76
81
  scrollTop: u.Stream<number>;
77
82
  viewportHeight: u.Stream<number>;
78
83
  headerHeight: u.StatefulStream<number>;
@@ -92,19 +97,11 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
92
97
  atTopStateChange: u.Stream<boolean>;
93
98
  atBottomStateChange: u.Stream<boolean>;
94
99
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
95
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
96
- scrollTop: u.Stream<number>;
97
- viewportHeight: u.Stream<number>;
98
- headerHeight: u.StatefulStream<number>;
99
- footerHeight: u.StatefulStream<number>;
100
- scrollHeight: u.Stream<number>;
101
- smoothScrollTargetReached: u.Stream<true>;
102
- scrollTo: u.Stream<ScrollToOptions>;
103
- scrollBy: u.Stream<ScrollToOptions>;
104
- statefulScrollTop: u.StatefulStream<number>;
105
- deviation: u.StatefulStream<number>;
106
- scrollingInProgress: u.StatefulStream<boolean>;
107
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
100
+ atBottomThreshold: u.StatefulStream<number>;
101
+ scrollVelocity: u.StatefulStream<number>;
102
+ lastJumpDueToItemResize: u.StatefulStream<number>;
103
+ }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
104
+ scrollContainerState: u.Stream<[number, number]>;
108
105
  scrollTop: u.Stream<number>;
109
106
  viewportHeight: u.Stream<number>;
110
107
  headerHeight: u.StatefulStream<number>;
@@ -116,7 +113,8 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
116
113
  statefulScrollTop: u.StatefulStream<number>;
117
114
  deviation: u.StatefulStream<number>;
118
115
  scrollingInProgress: u.StatefulStream<boolean>;
119
- }>], ([{ scrollTop, viewportHeight, headerHeight, footerHeight, scrollHeight }]: [{
116
+ }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
117
+ scrollContainerState: u.Stream<[number, number]>;
120
118
  scrollTop: u.Stream<number>;
121
119
  viewportHeight: u.Stream<number>;
122
120
  headerHeight: u.StatefulStream<number>;
@@ -136,19 +134,10 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
136
134
  atTopStateChange: u.Stream<boolean>;
137
135
  atBottomStateChange: u.Stream<boolean>;
138
136
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
139
- }>], ([{ scrollTop }, { isScrolling }]: [{
140
- scrollTop: u.Stream<number>;
141
- viewportHeight: u.Stream<number>;
142
- headerHeight: u.StatefulStream<number>;
143
- footerHeight: u.StatefulStream<number>;
144
- scrollHeight: u.Stream<number>;
145
- smoothScrollTargetReached: u.Stream<true>;
146
- scrollTo: u.Stream<ScrollToOptions>;
147
- scrollBy: u.Stream<ScrollToOptions>;
148
- statefulScrollTop: u.StatefulStream<number>;
149
- deviation: u.StatefulStream<number>;
150
- scrollingInProgress: u.StatefulStream<boolean>;
151
- }, {
137
+ atBottomThreshold: u.StatefulStream<number>;
138
+ scrollVelocity: u.StatefulStream<number>;
139
+ lastJumpDueToItemResize: u.StatefulStream<number>;
140
+ }>], ([{ scrollVelocity }]: [{
152
141
  isScrolling: u.Stream<boolean>;
153
142
  isAtTop: u.StatefulStream<boolean>;
154
143
  isAtBottom: u.StatefulStream<boolean>;
@@ -156,6 +145,9 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
156
145
  atTopStateChange: u.Stream<boolean>;
157
146
  atBottomStateChange: u.Stream<boolean>;
158
147
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
148
+ atBottomThreshold: u.StatefulStream<number>;
149
+ scrollVelocity: u.StatefulStream<number>;
150
+ lastJumpDueToItemResize: u.StatefulStream<number>;
159
151
  }]) => {
160
152
  isSeeking: u.StatefulStream<boolean>;
161
153
  scrollSeekConfiguration: u.StatefulStream<false | import("./interfaces").ScrollSeekConfiguration | undefined>;
@@ -171,6 +163,7 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
171
163
  propsReady: u.StatefulStream<boolean>;
172
164
  didMount: u.Stream<boolean>;
173
165
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
166
+ scrollContainerState: u.Stream<[number, number]>;
174
167
  scrollTop: u.Stream<number>;
175
168
  viewportHeight: u.Stream<number>;
176
169
  headerHeight: u.StatefulStream<number>;
@@ -183,6 +176,7 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
183
176
  deviation: u.StatefulStream<number>;
184
177
  scrollingInProgress: u.StatefulStream<boolean>;
185
178
  }>], ([{ scrollTop, scrollTo }]: [{
179
+ scrollContainerState: u.Stream<[number, number]>;
186
180
  scrollTop: u.Stream<number>;
187
181
  viewportHeight: u.Stream<number>;
188
182
  headerHeight: u.StatefulStream<number>;
@@ -199,13 +193,14 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
199
193
  windowScrollTop: u.Stream<number>;
200
194
  windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
201
195
  windowScrollTo: u.Stream<ScrollToOptions>;
202
- }>], ([{ overscan, visibleRange, listBoundary }, { scrollTop, viewportHeight, scrollBy, scrollTo, smoothScrollTargetReached }, stateFlags, scrollSeek, { propsReady, didMount }, { windowViewportRect, windowScrollTo, useWindowScroll, windowScrollTop },]: [{
196
+ }>], ([{ overscan, visibleRange, listBoundary }, { scrollTop, viewportHeight, scrollBy, scrollTo, smoothScrollTargetReached, scrollContainerState }, stateFlags, scrollSeek, { propsReady, didMount }, { windowViewportRect, windowScrollTo, useWindowScroll, windowScrollTop },]: [{
203
197
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
204
198
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
205
199
  topListHeight: u.StatefulStream<number>;
206
200
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
207
201
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
208
202
  }, {
203
+ scrollContainerState: u.Stream<[number, number]>;
209
204
  scrollTop: u.Stream<number>;
210
205
  viewportHeight: u.Stream<number>;
211
206
  headerHeight: u.StatefulStream<number>;
@@ -225,6 +220,9 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
225
220
  atTopStateChange: u.Stream<boolean>;
226
221
  atBottomStateChange: u.Stream<boolean>;
227
222
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
223
+ atBottomThreshold: u.StatefulStream<number>;
224
+ scrollVelocity: u.StatefulStream<number>;
225
+ lastJumpDueToItemResize: u.StatefulStream<number>;
228
226
  }, {
229
227
  isSeeking: u.StatefulStream<boolean>;
230
228
  scrollSeekConfiguration: u.StatefulStream<false | import("./interfaces").ScrollSeekConfiguration | undefined>;
@@ -250,11 +248,13 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
250
248
  atTopStateChange: u.Stream<boolean>;
251
249
  atBottomStateChange: u.Stream<boolean>;
252
250
  scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
251
+ atBottomThreshold: u.StatefulStream<number>;
252
+ scrollVelocity: u.StatefulStream<number>;
253
+ lastJumpDueToItemResize: u.StatefulStream<number>;
253
254
  gridState: u.StatefulStream<GridState>;
254
255
  totalListHeight: u.StatefulStream<number>;
255
256
  isSeeking: u.StatefulStream<boolean>;
256
257
  scrollSeekConfiguration: u.StatefulStream<false | import("./interfaces").ScrollSeekConfiguration | undefined>;
257
- scrollVelocity: u.StatefulStream<number>;
258
258
  scrollSeekRangeChanged: u.Stream<import("./interfaces").ListRange>;
259
259
  totalCount: u.StatefulStream<number>;
260
260
  viewportDimensions: u.StatefulStream<ElementDimensions>;
@@ -270,5 +270,6 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
270
270
  windowScrollTo: u.Stream<ScrollToOptions>;
271
271
  useWindowScroll: u.StatefulStream<boolean>;
272
272
  windowScrollTop: u.Stream<number>;
273
+ scrollContainerState: u.Stream<[number, number]>;
273
274
  initialItemCount: u.StatefulStream<number>;
274
275
  }>;
@@ -24,6 +24,7 @@ export declare const groupedListSystem: import("@virtuoso.dev/urx").SystemSpec<[
24
24
  trackItemSizes: import("@virtuoso.dev/urx").StatefulStream<boolean>;
25
25
  itemSize: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").SizeFunction>;
26
26
  }>, import("@virtuoso.dev/urx").SystemSpec<never[], () => {
27
+ scrollContainerState: import("@virtuoso.dev/urx").Stream<[number, number]>;
27
28
  scrollTop: import("@virtuoso.dev/urx").Stream<number>;
28
29
  viewportHeight: import("@virtuoso.dev/urx").Stream<number>;
29
30
  headerHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
@@ -50,6 +51,7 @@ export declare const groupedListSystem: import("@virtuoso.dev/urx").SystemSpec<[
50
51
  trackItemSizes: import("@virtuoso.dev/urx").StatefulStream<boolean>;
51
52
  itemSize: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").SizeFunction>;
52
53
  }, {
54
+ scrollContainerState: import("@virtuoso.dev/urx").Stream<[number, number]>;
53
55
  scrollTop: import("@virtuoso.dev/urx").Stream<number>;
54
56
  viewportHeight: import("@virtuoso.dev/urx").Stream<number>;
55
57
  headerHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
@@ -1,5 +1,5 @@
1
1
  declare type CallbackRefParam = HTMLElement | null;
2
- export default function useSize(callback: (scrollTop: number) => void): {
2
+ export default function useSize(callback: (state: [number, number]) => void): {
3
3
  scrollerRef: (elRef: CallbackRefParam) => void;
4
4
  scrollByCallback: () => void;
5
5
  scrollToCallback: () => void;
@@ -1,3 +1,3 @@
1
1
  import { Log } from '../loggerSystem';
2
2
  import { SizeFunction, SizeRange } from '../sizeSystem';
3
- export default function useChangedListContentsSizes(callback: (ranges: SizeRange[]) => void, itemSize: SizeFunction, enabled: boolean, scrollHeightCallback: (height: number) => void, log: Log): (_el: import("./useSize").CallbackRefParam) => void;
3
+ export default function useChangedListContentsSizes(callback: (ranges: SizeRange[]) => void, itemSize: SizeFunction, enabled: boolean, scrollContainerStateCallback: (state: [number, number]) => void, log: Log): (_el: import("./useSize").CallbackRefParam) => void;
@@ -1,5 +1,5 @@
1
1
  export declare type ScrollerRef = Window | HTMLElement | null;
2
- export default function useScrollTop(scrollTopCallback: (scrollTop: number) => void, smoothScrollTargetReached: (yes: true) => void, scrollerElement: any, scrollerRefCallback?: (ref: ScrollerRef) => void, scrollHeightCallback?: (height: number) => void): {
2
+ export default function useScrollTop(scrollContainerStateCallback: (state: [number, number]) => void, smoothScrollTargetReached: (yes: true) => void, scrollerElement: any, scrollerRefCallback?: (ref: ScrollerRef) => void): {
3
3
  scrollerRef: import("react").MutableRefObject<HTMLElement | Window | null>;
4
4
  scrollByCallback: (location: ScrollToOptions) => void;
5
5
  scrollToCallback: (location: ScrollToOptions) => void;