react-virtuoso 2.5.2 → 2.8.0-alpha.1

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 (67) hide show
  1. package/dist/AATree.d.ts +40 -40
  2. package/dist/Grid.d.ts +482 -433
  3. package/dist/List.d.ts +6041 -5736
  4. package/dist/Table.d.ts +5875 -5605
  5. package/dist/TableVirtuoso.js +2 -0
  6. package/dist/TableVirtuoso.js.map +1 -0
  7. package/dist/TableVirtuoso.mjs +2 -0
  8. package/dist/TableVirtuoso.mjs.map +1 -0
  9. package/dist/VirtuosoGrid.js +2 -0
  10. package/dist/VirtuosoGrid.js.map +1 -0
  11. package/dist/VirtuosoGrid.mjs +2 -0
  12. package/dist/VirtuosoGrid.mjs.map +1 -0
  13. package/dist/alignToBottomSystem.d.ts +529 -519
  14. package/dist/comparators.d.ts +3 -3
  15. package/dist/components/CompProps.d.ts +2 -0
  16. package/dist/components/GroupedVirtuoso.d.ts +27 -0
  17. package/dist/components/TableVirtuoso.d.ts +5717 -0
  18. package/dist/components/Virtuoso.d.ts +205 -0
  19. package/dist/components/VirtuosoGrid.d.ts +93 -0
  20. package/dist/components/index.d.ts +4 -0
  21. package/dist/components.d.ts +1145 -56
  22. package/dist/domIOSystem.d.ts +15 -15
  23. package/dist/followOutputSystem.d.ts +362 -354
  24. package/dist/gridSystem.d.ts +281 -278
  25. package/dist/groupedListSystem.d.ts +71 -69
  26. package/dist/hooks/__mocks__/useChangedChildSizes.d.ts +4 -4
  27. package/dist/hooks/__mocks__/useScrollTop.d.ts +7 -7
  28. package/dist/hooks/__mocks__/useSize.d.ts +3 -3
  29. package/dist/hooks/useChangedChildSizes.d.ts +3 -3
  30. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +3 -3
  31. package/dist/hooks/useScrollTop.d.ts +6 -6
  32. package/dist/hooks/useSize.d.ts +6 -6
  33. package/dist/hooks/useWindowViewportRect.d.ts +2 -2
  34. package/dist/index.d.ts +3 -3
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.m.js +1 -1
  38. package/dist/index.m.js.map +1 -1
  39. package/dist/index.mjs +2 -0
  40. package/dist/index.mjs.map +1 -0
  41. package/dist/initialItemCountSystem.d.ts +518 -506
  42. package/dist/initialScrollTopSystem.d.ts +540 -530
  43. package/dist/initialTopMostItemIndexSystem.d.ts +153 -149
  44. package/dist/interfaces.d.ts +279 -239
  45. package/dist/listStateSystem.d.ts +469 -459
  46. package/dist/listSystem.d.ts +5214 -5102
  47. package/dist/loggerSystem.d.ts +17 -17
  48. package/dist/propsReadySystem.d.ts +12 -12
  49. package/dist/scrollIntoViewSystem.d.ts +617 -603
  50. package/dist/scrollSeekSystem.d.ts +57 -57
  51. package/dist/scrollToIndexSystem.d.ts +77 -75
  52. package/dist/shared.js +2 -0
  53. package/dist/shared.js.map +1 -0
  54. package/dist/shared.mjs +2 -0
  55. package/dist/shared.mjs.map +1 -0
  56. package/dist/sizeRangeSystem.d.ts +50 -50
  57. package/dist/sizeSystem.d.ts +66 -65
  58. package/dist/stateFlagsSystem.d.ts +65 -65
  59. package/dist/topItemCountSystem.d.ts +469 -459
  60. package/dist/totalListHeightSystem.d.ts +497 -487
  61. package/dist/upwardScrollFixSystem.d.ts +590 -578
  62. package/dist/utils/binaryArraySearch.d.ts +6 -6
  63. package/dist/utils/correctItemSize.d.ts +1 -1
  64. package/dist/utils/positionStickyCssValue.d.ts +1 -1
  65. package/dist/utils/simpleMemoize.d.ts +1 -1
  66. package/dist/windowScrollerSystem.d.ts +35 -34
  67. package/package.json +15 -5
@@ -1,459 +1,469 @@
1
- import * as u from '@virtuoso.dev/urx';
2
- import { Item, ListItem, ListRange } from './interfaces';
3
- import { Data, SizeState } from './sizeSystem';
4
- export declare type ListItems = ListItem<unknown>[];
5
- export interface TopListState {
6
- items: ListItems;
7
- listHeight: number;
8
- }
9
- export interface ListState {
10
- items: ListItems;
11
- topItems: ListItems;
12
- topListHeight: number;
13
- offsetTop: number;
14
- offsetBottom: number;
15
- top: number;
16
- bottom: number;
17
- totalCount: number;
18
- }
19
- export declare function buildListState(items: Item<any>[], topItems: Item<any>[], totalCount: number, sizes: SizeState, firstItemIndex: number): ListState;
20
- export declare const listStateSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
21
- log: u.StatefulStream<import("./loggerSystem").Log>;
22
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
23
- }>], ([{ log }]: [{
24
- log: u.StatefulStream<import("./loggerSystem").Log>;
25
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
26
- }]) => {
27
- data: u.StatefulStream<Data>;
28
- totalCount: u.Stream<number>;
29
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
30
- groupIndices: u.StatefulStream<number[]>;
31
- defaultItemSize: u.StatefulStream<number | undefined>;
32
- fixedItemSize: u.StatefulStream<number | undefined>;
33
- unshiftWith: u.Stream<number>;
34
- beforeUnshiftWith: u.Stream<number>;
35
- firstItemIndex: u.StatefulStream<number>;
36
- sizes: u.StatefulStream<SizeState>;
37
- listRefresh: u.Stream<boolean>;
38
- trackItemSizes: u.StatefulStream<boolean>;
39
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
40
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
41
- log: u.StatefulStream<import("./loggerSystem").Log>;
42
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
43
- }>], ([{ log }]: [{
44
- log: u.StatefulStream<import("./loggerSystem").Log>;
45
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
46
- }]) => {
47
- data: u.StatefulStream<Data>;
48
- totalCount: u.Stream<number>;
49
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
50
- groupIndices: u.StatefulStream<number[]>;
51
- defaultItemSize: u.StatefulStream<number | undefined>;
52
- fixedItemSize: u.StatefulStream<number | undefined>;
53
- unshiftWith: u.Stream<number>;
54
- beforeUnshiftWith: u.Stream<number>;
55
- firstItemIndex: u.StatefulStream<number>;
56
- sizes: u.StatefulStream<SizeState>;
57
- listRefresh: u.Stream<boolean>;
58
- trackItemSizes: u.StatefulStream<boolean>;
59
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
60
- }>, u.SystemSpec<never[], () => {
61
- scrollContainerState: u.Stream<[number, number]>;
62
- scrollTop: u.Stream<number>;
63
- viewportHeight: u.Stream<number>;
64
- headerHeight: u.StatefulStream<number>;
65
- footerHeight: u.StatefulStream<number>;
66
- scrollHeight: u.Stream<number>;
67
- smoothScrollTargetReached: u.Stream<true>;
68
- scrollTo: u.Stream<ScrollToOptions>;
69
- scrollBy: u.Stream<ScrollToOptions>;
70
- statefulScrollTop: u.StatefulStream<number>;
71
- deviation: u.StatefulStream<number>;
72
- scrollingInProgress: u.StatefulStream<boolean>;
73
- }>], ([{ totalCount, groupIndices, sizes }, { scrollTop, headerHeight }]: [{
74
- data: u.StatefulStream<Data>;
75
- totalCount: u.Stream<number>;
76
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
77
- groupIndices: u.StatefulStream<number[]>;
78
- defaultItemSize: u.StatefulStream<number | undefined>;
79
- fixedItemSize: u.StatefulStream<number | undefined>;
80
- unshiftWith: u.Stream<number>;
81
- beforeUnshiftWith: u.Stream<number>;
82
- firstItemIndex: u.StatefulStream<number>;
83
- sizes: u.StatefulStream<SizeState>;
84
- listRefresh: u.Stream<boolean>;
85
- trackItemSizes: u.StatefulStream<boolean>;
86
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
87
- }, {
88
- scrollContainerState: u.Stream<[number, number]>;
89
- scrollTop: u.Stream<number>;
90
- viewportHeight: u.Stream<number>;
91
- headerHeight: u.StatefulStream<number>;
92
- footerHeight: u.StatefulStream<number>;
93
- scrollHeight: u.Stream<number>;
94
- smoothScrollTargetReached: u.Stream<true>;
95
- scrollTo: u.Stream<ScrollToOptions>;
96
- scrollBy: u.Stream<ScrollToOptions>;
97
- statefulScrollTop: u.StatefulStream<number>;
98
- deviation: u.StatefulStream<number>;
99
- scrollingInProgress: u.StatefulStream<boolean>;
100
- }]) => {
101
- groupCounts: u.Stream<number[]>;
102
- topItemsIndexes: u.Stream<[number]>;
103
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
104
- scrollContainerState: u.Stream<[number, number]>;
105
- scrollTop: u.Stream<number>;
106
- viewportHeight: u.Stream<number>;
107
- headerHeight: u.StatefulStream<number>;
108
- footerHeight: u.StatefulStream<number>;
109
- scrollHeight: u.Stream<number>;
110
- smoothScrollTargetReached: u.Stream<true>;
111
- scrollTo: u.Stream<ScrollToOptions>;
112
- scrollBy: u.Stream<ScrollToOptions>;
113
- statefulScrollTop: u.StatefulStream<number>;
114
- deviation: u.StatefulStream<number>;
115
- scrollingInProgress: u.StatefulStream<boolean>;
116
- }>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
117
- scrollContainerState: u.Stream<[number, number]>;
118
- scrollTop: u.Stream<number>;
119
- viewportHeight: u.Stream<number>;
120
- headerHeight: u.StatefulStream<number>;
121
- footerHeight: u.StatefulStream<number>;
122
- scrollHeight: u.Stream<number>;
123
- smoothScrollTargetReached: u.Stream<true>;
124
- scrollTo: u.Stream<ScrollToOptions>;
125
- scrollBy: u.Stream<ScrollToOptions>;
126
- statefulScrollTop: u.StatefulStream<number>;
127
- deviation: u.StatefulStream<number>;
128
- scrollingInProgress: u.StatefulStream<boolean>;
129
- }]) => {
130
- listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
131
- overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
132
- topListHeight: u.StatefulStream<number>;
133
- fixedHeaderHeight: u.StatefulStream<number>;
134
- increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
135
- visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
136
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
137
- log: u.StatefulStream<import("./loggerSystem").Log>;
138
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
139
- }>], ([{ log }]: [{
140
- log: u.StatefulStream<import("./loggerSystem").Log>;
141
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
142
- }]) => {
143
- data: u.StatefulStream<Data>;
144
- totalCount: u.Stream<number>;
145
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
146
- groupIndices: u.StatefulStream<number[]>;
147
- defaultItemSize: u.StatefulStream<number | undefined>;
148
- fixedItemSize: u.StatefulStream<number | undefined>;
149
- unshiftWith: u.Stream<number>;
150
- beforeUnshiftWith: u.Stream<number>;
151
- firstItemIndex: u.StatefulStream<number>;
152
- sizes: u.StatefulStream<SizeState>;
153
- listRefresh: u.Stream<boolean>;
154
- trackItemSizes: u.StatefulStream<boolean>;
155
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
156
- }>, u.SystemSpec<never[], () => {
157
- scrollContainerState: u.Stream<[number, number]>;
158
- scrollTop: u.Stream<number>;
159
- viewportHeight: u.Stream<number>;
160
- headerHeight: u.StatefulStream<number>;
161
- footerHeight: u.StatefulStream<number>;
162
- scrollHeight: u.Stream<number>;
163
- smoothScrollTargetReached: u.Stream<true>;
164
- scrollTo: u.Stream<ScrollToOptions>;
165
- scrollBy: u.Stream<ScrollToOptions>;
166
- statefulScrollTop: u.StatefulStream<number>;
167
- deviation: u.StatefulStream<number>;
168
- scrollingInProgress: u.StatefulStream<boolean>;
169
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
170
- log: u.StatefulStream<import("./loggerSystem").Log>;
171
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
172
- }>], ([{ log }]: [{
173
- log: u.StatefulStream<import("./loggerSystem").Log>;
174
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
175
- }]) => {
176
- data: u.StatefulStream<Data>;
177
- totalCount: u.Stream<number>;
178
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
179
- groupIndices: u.StatefulStream<number[]>;
180
- defaultItemSize: u.StatefulStream<number | undefined>;
181
- fixedItemSize: u.StatefulStream<number | undefined>;
182
- unshiftWith: u.Stream<number>;
183
- beforeUnshiftWith: u.Stream<number>;
184
- firstItemIndex: u.StatefulStream<number>;
185
- sizes: u.StatefulStream<SizeState>;
186
- listRefresh: u.Stream<boolean>;
187
- trackItemSizes: u.StatefulStream<boolean>;
188
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
189
- }>, u.SystemSpec<never[], () => {
190
- scrollContainerState: u.Stream<[number, number]>;
191
- scrollTop: u.Stream<number>;
192
- viewportHeight: u.Stream<number>;
193
- headerHeight: u.StatefulStream<number>;
194
- footerHeight: u.StatefulStream<number>;
195
- scrollHeight: u.Stream<number>;
196
- smoothScrollTargetReached: u.Stream<true>;
197
- scrollTo: u.Stream<ScrollToOptions>;
198
- scrollBy: u.Stream<ScrollToOptions>;
199
- statefulScrollTop: u.StatefulStream<number>;
200
- deviation: u.StatefulStream<number>;
201
- scrollingInProgress: u.StatefulStream<boolean>;
202
- }>, u.SystemSpec<never[], () => {
203
- log: u.StatefulStream<import("./loggerSystem").Log>;
204
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
205
- }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight }, { log },]: [{
206
- data: u.StatefulStream<Data>;
207
- totalCount: u.Stream<number>;
208
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
209
- groupIndices: u.StatefulStream<number[]>;
210
- defaultItemSize: u.StatefulStream<number | undefined>;
211
- fixedItemSize: u.StatefulStream<number | undefined>;
212
- unshiftWith: u.Stream<number>;
213
- beforeUnshiftWith: u.Stream<number>;
214
- firstItemIndex: u.StatefulStream<number>;
215
- sizes: u.StatefulStream<SizeState>;
216
- listRefresh: u.Stream<boolean>;
217
- trackItemSizes: u.StatefulStream<boolean>;
218
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
219
- }, {
220
- scrollContainerState: u.Stream<[number, number]>;
221
- scrollTop: u.Stream<number>;
222
- viewportHeight: u.Stream<number>;
223
- headerHeight: u.StatefulStream<number>;
224
- footerHeight: u.StatefulStream<number>;
225
- scrollHeight: u.Stream<number>;
226
- smoothScrollTargetReached: u.Stream<true>;
227
- scrollTo: u.Stream<ScrollToOptions>;
228
- scrollBy: u.Stream<ScrollToOptions>;
229
- statefulScrollTop: u.StatefulStream<number>;
230
- deviation: u.StatefulStream<number>;
231
- scrollingInProgress: u.StatefulStream<boolean>;
232
- }, {
233
- log: u.StatefulStream<import("./loggerSystem").Log>;
234
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
235
- }]) => {
236
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
237
- topListHeight: u.StatefulStream<number>;
238
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
239
- log: u.StatefulStream<import("./loggerSystem").Log>;
240
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
241
- }>], ([{ log }]: [{
242
- log: u.StatefulStream<import("./loggerSystem").Log>;
243
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
244
- }]) => {
245
- propsReady: u.StatefulStream<boolean>;
246
- didMount: u.Stream<boolean>;
247
- }>], ([{ sizes, listRefresh, defaultItemSize }, { scrollTop }, { scrollToIndex }, { didMount }]: [{
248
- data: u.StatefulStream<Data>;
249
- totalCount: u.Stream<number>;
250
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
251
- groupIndices: u.StatefulStream<number[]>;
252
- defaultItemSize: u.StatefulStream<number | undefined>;
253
- fixedItemSize: u.StatefulStream<number | undefined>;
254
- unshiftWith: u.Stream<number>;
255
- beforeUnshiftWith: u.Stream<number>;
256
- firstItemIndex: u.StatefulStream<number>;
257
- sizes: u.StatefulStream<SizeState>;
258
- listRefresh: u.Stream<boolean>;
259
- trackItemSizes: u.StatefulStream<boolean>;
260
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
261
- }, {
262
- scrollContainerState: u.Stream<[number, number]>;
263
- scrollTop: u.Stream<number>;
264
- viewportHeight: u.Stream<number>;
265
- headerHeight: u.StatefulStream<number>;
266
- footerHeight: u.StatefulStream<number>;
267
- scrollHeight: u.Stream<number>;
268
- smoothScrollTargetReached: u.Stream<true>;
269
- scrollTo: u.Stream<ScrollToOptions>;
270
- scrollBy: u.Stream<ScrollToOptions>;
271
- statefulScrollTop: u.StatefulStream<number>;
272
- deviation: u.StatefulStream<number>;
273
- scrollingInProgress: u.StatefulStream<boolean>;
274
- }, {
275
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
276
- topListHeight: u.StatefulStream<number>;
277
- }, {
278
- propsReady: u.StatefulStream<boolean>;
279
- didMount: u.Stream<boolean>;
280
- }]) => {
281
- scrolledToInitialItem: u.StatefulStream<boolean>;
282
- initialTopMostItemIndex: u.StatefulStream<number>;
283
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
284
- log: u.StatefulStream<import("./loggerSystem").Log>;
285
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
286
- }>], ([{ log }]: [{
287
- log: u.StatefulStream<import("./loggerSystem").Log>;
288
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
289
- }]) => {
290
- data: u.StatefulStream<Data>;
291
- totalCount: u.Stream<number>;
292
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
293
- groupIndices: u.StatefulStream<number[]>;
294
- defaultItemSize: u.StatefulStream<number | undefined>;
295
- fixedItemSize: u.StatefulStream<number | undefined>;
296
- unshiftWith: u.Stream<number>;
297
- beforeUnshiftWith: u.Stream<number>;
298
- firstItemIndex: u.StatefulStream<number>;
299
- sizes: u.StatefulStream<SizeState>;
300
- listRefresh: u.Stream<boolean>;
301
- trackItemSizes: u.StatefulStream<boolean>;
302
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
303
- }>, u.SystemSpec<never[], () => {
304
- scrollContainerState: u.Stream<[number, number]>;
305
- scrollTop: u.Stream<number>;
306
- viewportHeight: u.Stream<number>;
307
- headerHeight: u.StatefulStream<number>;
308
- footerHeight: u.StatefulStream<number>;
309
- scrollHeight: u.Stream<number>;
310
- smoothScrollTargetReached: u.Stream<true>;
311
- scrollTo: u.Stream<ScrollToOptions>;
312
- scrollBy: u.Stream<ScrollToOptions>;
313
- statefulScrollTop: u.StatefulStream<number>;
314
- deviation: u.StatefulStream<number>;
315
- scrollingInProgress: u.StatefulStream<boolean>;
316
- }>, u.SystemSpec<never[], () => {
317
- log: u.StatefulStream<import("./loggerSystem").Log>;
318
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
319
- }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight }, { log },]: [{
320
- data: u.StatefulStream<Data>;
321
- totalCount: u.Stream<number>;
322
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
323
- groupIndices: u.StatefulStream<number[]>;
324
- defaultItemSize: u.StatefulStream<number | undefined>;
325
- fixedItemSize: u.StatefulStream<number | undefined>;
326
- unshiftWith: u.Stream<number>;
327
- beforeUnshiftWith: u.Stream<number>;
328
- firstItemIndex: u.StatefulStream<number>;
329
- sizes: u.StatefulStream<SizeState>;
330
- listRefresh: u.Stream<boolean>;
331
- trackItemSizes: u.StatefulStream<boolean>;
332
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
333
- }, {
334
- scrollContainerState: u.Stream<[number, number]>;
335
- scrollTop: u.Stream<number>;
336
- viewportHeight: u.Stream<number>;
337
- headerHeight: u.StatefulStream<number>;
338
- footerHeight: u.StatefulStream<number>;
339
- scrollHeight: u.Stream<number>;
340
- smoothScrollTargetReached: u.Stream<true>;
341
- scrollTo: u.Stream<ScrollToOptions>;
342
- scrollBy: u.Stream<ScrollToOptions>;
343
- statefulScrollTop: u.StatefulStream<number>;
344
- deviation: u.StatefulStream<number>;
345
- scrollingInProgress: u.StatefulStream<boolean>;
346
- }, {
347
- log: u.StatefulStream<import("./loggerSystem").Log>;
348
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
349
- }]) => {
350
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
351
- topListHeight: u.StatefulStream<number>;
352
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
353
- scrollContainerState: u.Stream<[number, number]>;
354
- scrollTop: u.Stream<number>;
355
- viewportHeight: u.Stream<number>;
356
- headerHeight: u.StatefulStream<number>;
357
- footerHeight: u.StatefulStream<number>;
358
- scrollHeight: u.Stream<number>;
359
- smoothScrollTargetReached: u.Stream<true>;
360
- scrollTo: u.Stream<ScrollToOptions>;
361
- scrollBy: u.Stream<ScrollToOptions>;
362
- statefulScrollTop: u.StatefulStream<number>;
363
- deviation: u.StatefulStream<number>;
364
- scrollingInProgress: u.StatefulStream<boolean>;
365
- }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
366
- scrollContainerState: u.Stream<[number, number]>;
367
- scrollTop: u.Stream<number>;
368
- viewportHeight: u.Stream<number>;
369
- headerHeight: u.StatefulStream<number>;
370
- footerHeight: u.StatefulStream<number>;
371
- scrollHeight: u.Stream<number>;
372
- smoothScrollTargetReached: u.Stream<true>;
373
- scrollTo: u.Stream<ScrollToOptions>;
374
- scrollBy: u.Stream<ScrollToOptions>;
375
- statefulScrollTop: u.StatefulStream<number>;
376
- deviation: u.StatefulStream<number>;
377
- scrollingInProgress: u.StatefulStream<boolean>;
378
- }]) => {
379
- isScrolling: u.Stream<boolean>;
380
- isAtTop: u.StatefulStream<boolean>;
381
- isAtBottom: u.StatefulStream<boolean>;
382
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
383
- atTopStateChange: u.Stream<boolean>;
384
- atBottomStateChange: u.Stream<boolean>;
385
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
386
- atBottomThreshold: u.StatefulStream<number>;
387
- scrollVelocity: u.StatefulStream<number>;
388
- lastJumpDueToItemResize: u.StatefulStream<number>;
389
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
390
- log: u.StatefulStream<import("./loggerSystem").Log>;
391
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
392
- }>], ([{ log }]: [{
393
- log: u.StatefulStream<import("./loggerSystem").Log>;
394
- logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
395
- }]) => {
396
- propsReady: u.StatefulStream<boolean>;
397
- didMount: u.Stream<boolean>;
398
- }>], ([{ sizes, totalCount, data, firstItemIndex }, groupedListSystem, { visibleRange, listBoundary, topListHeight: rangeTopListHeight }, { scrolledToInitialItem, initialTopMostItemIndex }, { topListHeight }, stateFlags, { didMount },]: [{
399
- data: u.StatefulStream<Data>;
400
- totalCount: u.Stream<number>;
401
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
402
- groupIndices: u.StatefulStream<number[]>;
403
- defaultItemSize: u.StatefulStream<number | undefined>;
404
- fixedItemSize: u.StatefulStream<number | undefined>;
405
- unshiftWith: u.Stream<number>;
406
- beforeUnshiftWith: u.Stream<number>;
407
- firstItemIndex: u.StatefulStream<number>;
408
- sizes: u.StatefulStream<SizeState>;
409
- listRefresh: u.Stream<boolean>;
410
- trackItemSizes: u.StatefulStream<boolean>;
411
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
412
- }, {
413
- groupCounts: u.Stream<number[]>;
414
- topItemsIndexes: u.Stream<[number]>;
415
- }, {
416
- listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
417
- overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
418
- topListHeight: u.StatefulStream<number>;
419
- fixedHeaderHeight: u.StatefulStream<number>;
420
- increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
421
- visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
422
- }, {
423
- scrolledToInitialItem: u.StatefulStream<boolean>;
424
- initialTopMostItemIndex: u.StatefulStream<number>;
425
- }, {
426
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
427
- topListHeight: u.StatefulStream<number>;
428
- }, {
429
- isScrolling: u.Stream<boolean>;
430
- isAtTop: u.StatefulStream<boolean>;
431
- isAtBottom: u.StatefulStream<boolean>;
432
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
433
- atTopStateChange: u.Stream<boolean>;
434
- atBottomStateChange: u.Stream<boolean>;
435
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
436
- atBottomThreshold: u.StatefulStream<number>;
437
- scrollVelocity: u.StatefulStream<number>;
438
- lastJumpDueToItemResize: u.StatefulStream<number>;
439
- }, {
440
- propsReady: u.StatefulStream<boolean>;
441
- didMount: u.Stream<boolean>;
442
- }]) => {
443
- isScrolling: u.Stream<boolean>;
444
- isAtTop: u.StatefulStream<boolean>;
445
- isAtBottom: u.StatefulStream<boolean>;
446
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
447
- atTopStateChange: u.Stream<boolean>;
448
- atBottomStateChange: u.Stream<boolean>;
449
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
450
- atBottomThreshold: u.StatefulStream<number>;
451
- scrollVelocity: u.StatefulStream<number>;
452
- lastJumpDueToItemResize: u.StatefulStream<number>;
453
- listState: u.StatefulStream<ListState>;
454
- topItemsIndexes: u.StatefulStream<number[]>;
455
- endReached: u.Stream<number>;
456
- startReached: u.Stream<number>;
457
- rangeChanged: u.Stream<ListRange>;
458
- itemsRendered: u.Stream<ListItems>;
459
- }>;
1
+ import * as u from '@virtuoso.dev/urx';
2
+ import { Item, ListItem, ListRange } from './interfaces';
3
+ import { Data, SizeState } from './sizeSystem';
4
+ export declare type ListItems = ListItem<unknown>[];
5
+ export interface TopListState {
6
+ items: ListItems;
7
+ listHeight: number;
8
+ }
9
+ export interface ListState {
10
+ items: ListItems;
11
+ topItems: ListItems;
12
+ topListHeight: number;
13
+ offsetTop: number;
14
+ offsetBottom: number;
15
+ top: number;
16
+ bottom: number;
17
+ totalCount: number;
18
+ }
19
+ export declare function buildListState(items: Item<any>[], topItems: Item<any>[], totalCount: number, sizes: SizeState, firstItemIndex: number): ListState;
20
+ export declare const listStateSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
21
+ log: u.StatefulStream<import("./loggerSystem").Log>;
22
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
23
+ }>], ([{ log }]: [{
24
+ log: u.StatefulStream<import("./loggerSystem").Log>;
25
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
26
+ }]) => {
27
+ data: u.StatefulStream<Data>;
28
+ totalCount: u.Stream<number>;
29
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
30
+ groupIndices: u.StatefulStream<number[]>;
31
+ defaultItemSize: u.StatefulStream<number | undefined>;
32
+ fixedItemSize: u.StatefulStream<number | undefined>;
33
+ unshiftWith: u.Stream<number>;
34
+ beforeUnshiftWith: u.Stream<number>;
35
+ firstItemIndex: u.StatefulStream<number>;
36
+ sizes: u.StatefulStream<SizeState>;
37
+ listRefresh: u.Stream<boolean>;
38
+ statefulTotalCount: u.StatefulStream<number>;
39
+ trackItemSizes: u.StatefulStream<boolean>;
40
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
41
+ }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
42
+ log: u.StatefulStream<import("./loggerSystem").Log>;
43
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
44
+ }>], ([{ log }]: [{
45
+ log: u.StatefulStream<import("./loggerSystem").Log>;
46
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
47
+ }]) => {
48
+ data: u.StatefulStream<Data>;
49
+ totalCount: u.Stream<number>;
50
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
51
+ groupIndices: u.StatefulStream<number[]>;
52
+ defaultItemSize: u.StatefulStream<number | undefined>;
53
+ fixedItemSize: u.StatefulStream<number | undefined>;
54
+ unshiftWith: u.Stream<number>;
55
+ beforeUnshiftWith: u.Stream<number>;
56
+ firstItemIndex: u.StatefulStream<number>;
57
+ sizes: u.StatefulStream<SizeState>;
58
+ listRefresh: u.Stream<boolean>;
59
+ statefulTotalCount: u.StatefulStream<number>;
60
+ trackItemSizes: u.StatefulStream<boolean>;
61
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
62
+ }>, u.SystemSpec<never[], () => {
63
+ scrollContainerState: u.Stream<[number, number]>;
64
+ scrollTop: u.Stream<number>;
65
+ viewportHeight: u.Stream<number>;
66
+ headerHeight: u.StatefulStream<number>;
67
+ footerHeight: u.StatefulStream<number>;
68
+ scrollHeight: u.Stream<number>;
69
+ smoothScrollTargetReached: u.Stream<true>;
70
+ scrollTo: u.Stream<ScrollToOptions>;
71
+ scrollBy: u.Stream<ScrollToOptions>;
72
+ statefulScrollTop: u.StatefulStream<number>;
73
+ deviation: u.StatefulStream<number>;
74
+ scrollingInProgress: u.StatefulStream<boolean>;
75
+ }>], ([{ totalCount, groupIndices, sizes }, { scrollTop, headerHeight }]: [{
76
+ data: u.StatefulStream<Data>;
77
+ totalCount: u.Stream<number>;
78
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
79
+ groupIndices: u.StatefulStream<number[]>;
80
+ defaultItemSize: u.StatefulStream<number | undefined>;
81
+ fixedItemSize: u.StatefulStream<number | undefined>;
82
+ unshiftWith: u.Stream<number>;
83
+ beforeUnshiftWith: u.Stream<number>;
84
+ firstItemIndex: u.StatefulStream<number>;
85
+ sizes: u.StatefulStream<SizeState>;
86
+ listRefresh: u.Stream<boolean>;
87
+ statefulTotalCount: u.StatefulStream<number>;
88
+ trackItemSizes: u.StatefulStream<boolean>;
89
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
90
+ }, {
91
+ scrollContainerState: u.Stream<[number, number]>;
92
+ scrollTop: u.Stream<number>;
93
+ viewportHeight: u.Stream<number>;
94
+ headerHeight: u.StatefulStream<number>;
95
+ footerHeight: u.StatefulStream<number>;
96
+ scrollHeight: u.Stream<number>;
97
+ smoothScrollTargetReached: u.Stream<true>;
98
+ scrollTo: u.Stream<ScrollToOptions>;
99
+ scrollBy: u.Stream<ScrollToOptions>;
100
+ statefulScrollTop: u.StatefulStream<number>;
101
+ deviation: u.StatefulStream<number>;
102
+ scrollingInProgress: u.StatefulStream<boolean>;
103
+ }]) => {
104
+ groupCounts: u.Stream<number[]>;
105
+ topItemsIndexes: u.Stream<[number]>;
106
+ }>, u.SystemSpec<[u.SystemSpec<never[], () => {
107
+ scrollContainerState: u.Stream<[number, number]>;
108
+ scrollTop: u.Stream<number>;
109
+ viewportHeight: u.Stream<number>;
110
+ headerHeight: u.StatefulStream<number>;
111
+ footerHeight: u.StatefulStream<number>;
112
+ scrollHeight: u.Stream<number>;
113
+ smoothScrollTargetReached: u.Stream<true>;
114
+ scrollTo: u.Stream<ScrollToOptions>;
115
+ scrollBy: u.Stream<ScrollToOptions>;
116
+ statefulScrollTop: u.StatefulStream<number>;
117
+ deviation: u.StatefulStream<number>;
118
+ scrollingInProgress: u.StatefulStream<boolean>;
119
+ }>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
120
+ scrollContainerState: u.Stream<[number, number]>;
121
+ scrollTop: u.Stream<number>;
122
+ viewportHeight: u.Stream<number>;
123
+ headerHeight: u.StatefulStream<number>;
124
+ footerHeight: u.StatefulStream<number>;
125
+ scrollHeight: u.Stream<number>;
126
+ smoothScrollTargetReached: u.Stream<true>;
127
+ scrollTo: u.Stream<ScrollToOptions>;
128
+ scrollBy: u.Stream<ScrollToOptions>;
129
+ statefulScrollTop: u.StatefulStream<number>;
130
+ deviation: u.StatefulStream<number>;
131
+ scrollingInProgress: u.StatefulStream<boolean>;
132
+ }]) => {
133
+ listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
134
+ overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
135
+ topListHeight: u.StatefulStream<number>;
136
+ fixedHeaderHeight: u.StatefulStream<number>;
137
+ increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
138
+ visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
139
+ }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
140
+ log: u.StatefulStream<import("./loggerSystem").Log>;
141
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
142
+ }>], ([{ log }]: [{
143
+ log: u.StatefulStream<import("./loggerSystem").Log>;
144
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
145
+ }]) => {
146
+ data: u.StatefulStream<Data>;
147
+ totalCount: u.Stream<number>;
148
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
149
+ groupIndices: u.StatefulStream<number[]>;
150
+ defaultItemSize: u.StatefulStream<number | undefined>;
151
+ fixedItemSize: u.StatefulStream<number | undefined>;
152
+ unshiftWith: u.Stream<number>;
153
+ beforeUnshiftWith: u.Stream<number>;
154
+ firstItemIndex: u.StatefulStream<number>;
155
+ sizes: u.StatefulStream<SizeState>;
156
+ listRefresh: u.Stream<boolean>;
157
+ statefulTotalCount: u.StatefulStream<number>;
158
+ trackItemSizes: u.StatefulStream<boolean>;
159
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
160
+ }>, u.SystemSpec<never[], () => {
161
+ scrollContainerState: u.Stream<[number, number]>;
162
+ scrollTop: u.Stream<number>;
163
+ viewportHeight: u.Stream<number>;
164
+ headerHeight: u.StatefulStream<number>;
165
+ footerHeight: u.StatefulStream<number>;
166
+ scrollHeight: u.Stream<number>;
167
+ smoothScrollTargetReached: u.Stream<true>;
168
+ scrollTo: u.Stream<ScrollToOptions>;
169
+ scrollBy: u.Stream<ScrollToOptions>;
170
+ statefulScrollTop: u.StatefulStream<number>;
171
+ deviation: u.StatefulStream<number>;
172
+ scrollingInProgress: u.StatefulStream<boolean>;
173
+ }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
174
+ log: u.StatefulStream<import("./loggerSystem").Log>;
175
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
176
+ }>], ([{ log }]: [{
177
+ log: u.StatefulStream<import("./loggerSystem").Log>;
178
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
179
+ }]) => {
180
+ data: u.StatefulStream<Data>;
181
+ totalCount: u.Stream<number>;
182
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
183
+ groupIndices: u.StatefulStream<number[]>;
184
+ defaultItemSize: u.StatefulStream<number | undefined>;
185
+ fixedItemSize: u.StatefulStream<number | undefined>;
186
+ unshiftWith: u.Stream<number>;
187
+ beforeUnshiftWith: u.Stream<number>;
188
+ firstItemIndex: u.StatefulStream<number>;
189
+ sizes: u.StatefulStream<SizeState>;
190
+ listRefresh: u.Stream<boolean>;
191
+ statefulTotalCount: u.StatefulStream<number>;
192
+ trackItemSizes: u.StatefulStream<boolean>;
193
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
194
+ }>, u.SystemSpec<never[], () => {
195
+ scrollContainerState: u.Stream<[number, number]>;
196
+ scrollTop: u.Stream<number>;
197
+ viewportHeight: u.Stream<number>;
198
+ headerHeight: u.StatefulStream<number>;
199
+ footerHeight: u.StatefulStream<number>;
200
+ scrollHeight: u.Stream<number>;
201
+ smoothScrollTargetReached: u.Stream<true>;
202
+ scrollTo: u.Stream<ScrollToOptions>;
203
+ scrollBy: u.Stream<ScrollToOptions>;
204
+ statefulScrollTop: u.StatefulStream<number>;
205
+ deviation: u.StatefulStream<number>;
206
+ scrollingInProgress: u.StatefulStream<boolean>;
207
+ }>, u.SystemSpec<never[], () => {
208
+ log: u.StatefulStream<import("./loggerSystem").Log>;
209
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
210
+ }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight }, { log },]: [{
211
+ data: u.StatefulStream<Data>;
212
+ totalCount: u.Stream<number>;
213
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
214
+ groupIndices: u.StatefulStream<number[]>;
215
+ defaultItemSize: u.StatefulStream<number | undefined>;
216
+ fixedItemSize: u.StatefulStream<number | undefined>;
217
+ unshiftWith: u.Stream<number>;
218
+ beforeUnshiftWith: u.Stream<number>;
219
+ firstItemIndex: u.StatefulStream<number>;
220
+ sizes: u.StatefulStream<SizeState>;
221
+ listRefresh: u.Stream<boolean>;
222
+ statefulTotalCount: u.StatefulStream<number>;
223
+ trackItemSizes: u.StatefulStream<boolean>;
224
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
225
+ }, {
226
+ scrollContainerState: u.Stream<[number, number]>;
227
+ scrollTop: u.Stream<number>;
228
+ viewportHeight: u.Stream<number>;
229
+ headerHeight: u.StatefulStream<number>;
230
+ footerHeight: u.StatefulStream<number>;
231
+ scrollHeight: u.Stream<number>;
232
+ smoothScrollTargetReached: u.Stream<true>;
233
+ scrollTo: u.Stream<ScrollToOptions>;
234
+ scrollBy: u.Stream<ScrollToOptions>;
235
+ statefulScrollTop: u.StatefulStream<number>;
236
+ deviation: u.StatefulStream<number>;
237
+ scrollingInProgress: u.StatefulStream<boolean>;
238
+ }, {
239
+ log: u.StatefulStream<import("./loggerSystem").Log>;
240
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
241
+ }]) => {
242
+ scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
243
+ topListHeight: u.StatefulStream<number>;
244
+ }>, u.SystemSpec<[u.SystemSpec<never[], () => {
245
+ log: u.StatefulStream<import("./loggerSystem").Log>;
246
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
247
+ }>], ([{ log }]: [{
248
+ log: u.StatefulStream<import("./loggerSystem").Log>;
249
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
250
+ }]) => {
251
+ propsReady: u.StatefulStream<boolean>;
252
+ didMount: u.Stream<boolean>;
253
+ }>], ([{ sizes, listRefresh, defaultItemSize }, { scrollTop }, { scrollToIndex }, { didMount }]: [{
254
+ data: u.StatefulStream<Data>;
255
+ totalCount: u.Stream<number>;
256
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
257
+ groupIndices: u.StatefulStream<number[]>;
258
+ defaultItemSize: u.StatefulStream<number | undefined>;
259
+ fixedItemSize: u.StatefulStream<number | undefined>;
260
+ unshiftWith: u.Stream<number>;
261
+ beforeUnshiftWith: u.Stream<number>;
262
+ firstItemIndex: u.StatefulStream<number>;
263
+ sizes: u.StatefulStream<SizeState>;
264
+ listRefresh: u.Stream<boolean>;
265
+ statefulTotalCount: u.StatefulStream<number>;
266
+ trackItemSizes: u.StatefulStream<boolean>;
267
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
268
+ }, {
269
+ scrollContainerState: u.Stream<[number, number]>;
270
+ scrollTop: u.Stream<number>;
271
+ viewportHeight: u.Stream<number>;
272
+ headerHeight: u.StatefulStream<number>;
273
+ footerHeight: u.StatefulStream<number>;
274
+ scrollHeight: u.Stream<number>;
275
+ smoothScrollTargetReached: u.Stream<true>;
276
+ scrollTo: u.Stream<ScrollToOptions>;
277
+ scrollBy: u.Stream<ScrollToOptions>;
278
+ statefulScrollTop: u.StatefulStream<number>;
279
+ deviation: u.StatefulStream<number>;
280
+ scrollingInProgress: u.StatefulStream<boolean>;
281
+ }, {
282
+ scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
283
+ topListHeight: u.StatefulStream<number>;
284
+ }, {
285
+ propsReady: u.StatefulStream<boolean>;
286
+ didMount: u.Stream<boolean>;
287
+ }]) => {
288
+ scrolledToInitialItem: u.StatefulStream<boolean>;
289
+ initialTopMostItemIndex: u.StatefulStream<number>;
290
+ }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
291
+ log: u.StatefulStream<import("./loggerSystem").Log>;
292
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
293
+ }>], ([{ log }]: [{
294
+ log: u.StatefulStream<import("./loggerSystem").Log>;
295
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
296
+ }]) => {
297
+ data: u.StatefulStream<Data>;
298
+ totalCount: u.Stream<number>;
299
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
300
+ groupIndices: u.StatefulStream<number[]>;
301
+ defaultItemSize: u.StatefulStream<number | undefined>;
302
+ fixedItemSize: u.StatefulStream<number | undefined>;
303
+ unshiftWith: u.Stream<number>;
304
+ beforeUnshiftWith: u.Stream<number>;
305
+ firstItemIndex: u.StatefulStream<number>;
306
+ sizes: u.StatefulStream<SizeState>;
307
+ listRefresh: u.Stream<boolean>;
308
+ statefulTotalCount: u.StatefulStream<number>;
309
+ trackItemSizes: u.StatefulStream<boolean>;
310
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
311
+ }>, u.SystemSpec<never[], () => {
312
+ scrollContainerState: u.Stream<[number, number]>;
313
+ scrollTop: u.Stream<number>;
314
+ viewportHeight: u.Stream<number>;
315
+ headerHeight: u.StatefulStream<number>;
316
+ footerHeight: u.StatefulStream<number>;
317
+ scrollHeight: u.Stream<number>;
318
+ smoothScrollTargetReached: u.Stream<true>;
319
+ scrollTo: u.Stream<ScrollToOptions>;
320
+ scrollBy: u.Stream<ScrollToOptions>;
321
+ statefulScrollTop: u.StatefulStream<number>;
322
+ deviation: u.StatefulStream<number>;
323
+ scrollingInProgress: u.StatefulStream<boolean>;
324
+ }>, u.SystemSpec<never[], () => {
325
+ log: u.StatefulStream<import("./loggerSystem").Log>;
326
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
327
+ }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight }, { log },]: [{
328
+ data: u.StatefulStream<Data>;
329
+ totalCount: u.Stream<number>;
330
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
331
+ groupIndices: u.StatefulStream<number[]>;
332
+ defaultItemSize: u.StatefulStream<number | undefined>;
333
+ fixedItemSize: u.StatefulStream<number | undefined>;
334
+ unshiftWith: u.Stream<number>;
335
+ beforeUnshiftWith: u.Stream<number>;
336
+ firstItemIndex: u.StatefulStream<number>;
337
+ sizes: u.StatefulStream<SizeState>;
338
+ listRefresh: u.Stream<boolean>;
339
+ statefulTotalCount: u.StatefulStream<number>;
340
+ trackItemSizes: u.StatefulStream<boolean>;
341
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
342
+ }, {
343
+ scrollContainerState: u.Stream<[number, number]>;
344
+ scrollTop: u.Stream<number>;
345
+ viewportHeight: u.Stream<number>;
346
+ headerHeight: u.StatefulStream<number>;
347
+ footerHeight: u.StatefulStream<number>;
348
+ scrollHeight: u.Stream<number>;
349
+ smoothScrollTargetReached: u.Stream<true>;
350
+ scrollTo: u.Stream<ScrollToOptions>;
351
+ scrollBy: u.Stream<ScrollToOptions>;
352
+ statefulScrollTop: u.StatefulStream<number>;
353
+ deviation: u.StatefulStream<number>;
354
+ scrollingInProgress: u.StatefulStream<boolean>;
355
+ }, {
356
+ log: u.StatefulStream<import("./loggerSystem").Log>;
357
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
358
+ }]) => {
359
+ scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
360
+ topListHeight: u.StatefulStream<number>;
361
+ }>, u.SystemSpec<[u.SystemSpec<never[], () => {
362
+ scrollContainerState: u.Stream<[number, number]>;
363
+ scrollTop: u.Stream<number>;
364
+ viewportHeight: u.Stream<number>;
365
+ headerHeight: u.StatefulStream<number>;
366
+ footerHeight: u.StatefulStream<number>;
367
+ scrollHeight: u.Stream<number>;
368
+ smoothScrollTargetReached: u.Stream<true>;
369
+ scrollTo: u.Stream<ScrollToOptions>;
370
+ scrollBy: u.Stream<ScrollToOptions>;
371
+ statefulScrollTop: u.StatefulStream<number>;
372
+ deviation: u.StatefulStream<number>;
373
+ scrollingInProgress: u.StatefulStream<boolean>;
374
+ }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
375
+ scrollContainerState: u.Stream<[number, number]>;
376
+ scrollTop: u.Stream<number>;
377
+ viewportHeight: u.Stream<number>;
378
+ headerHeight: u.StatefulStream<number>;
379
+ footerHeight: u.StatefulStream<number>;
380
+ scrollHeight: u.Stream<number>;
381
+ smoothScrollTargetReached: u.Stream<true>;
382
+ scrollTo: u.Stream<ScrollToOptions>;
383
+ scrollBy: u.Stream<ScrollToOptions>;
384
+ statefulScrollTop: u.StatefulStream<number>;
385
+ deviation: u.StatefulStream<number>;
386
+ scrollingInProgress: u.StatefulStream<boolean>;
387
+ }]) => {
388
+ isScrolling: u.Stream<boolean>;
389
+ isAtTop: u.StatefulStream<boolean>;
390
+ isAtBottom: u.StatefulStream<boolean>;
391
+ atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
392
+ atTopStateChange: u.Stream<boolean>;
393
+ atBottomStateChange: u.Stream<boolean>;
394
+ scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
395
+ atBottomThreshold: u.StatefulStream<number>;
396
+ scrollVelocity: u.StatefulStream<number>;
397
+ lastJumpDueToItemResize: u.StatefulStream<number>;
398
+ }>, u.SystemSpec<[u.SystemSpec<never[], () => {
399
+ log: u.StatefulStream<import("./loggerSystem").Log>;
400
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
401
+ }>], ([{ log }]: [{
402
+ log: u.StatefulStream<import("./loggerSystem").Log>;
403
+ logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
404
+ }]) => {
405
+ propsReady: u.StatefulStream<boolean>;
406
+ didMount: u.Stream<boolean>;
407
+ }>], ([{ sizes, totalCount, data, firstItemIndex }, groupedListSystem, { visibleRange, listBoundary, topListHeight: rangeTopListHeight }, { scrolledToInitialItem, initialTopMostItemIndex }, { topListHeight }, stateFlags, { didMount },]: [{
408
+ data: u.StatefulStream<Data>;
409
+ totalCount: u.Stream<number>;
410
+ sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
411
+ groupIndices: u.StatefulStream<number[]>;
412
+ defaultItemSize: u.StatefulStream<number | undefined>;
413
+ fixedItemSize: u.StatefulStream<number | undefined>;
414
+ unshiftWith: u.Stream<number>;
415
+ beforeUnshiftWith: u.Stream<number>;
416
+ firstItemIndex: u.StatefulStream<number>;
417
+ sizes: u.StatefulStream<SizeState>;
418
+ listRefresh: u.Stream<boolean>;
419
+ statefulTotalCount: u.StatefulStream<number>;
420
+ trackItemSizes: u.StatefulStream<boolean>;
421
+ itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
422
+ }, {
423
+ groupCounts: u.Stream<number[]>;
424
+ topItemsIndexes: u.Stream<[number]>;
425
+ }, {
426
+ listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
427
+ overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
428
+ topListHeight: u.StatefulStream<number>;
429
+ fixedHeaderHeight: u.StatefulStream<number>;
430
+ increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
431
+ visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
432
+ }, {
433
+ scrolledToInitialItem: u.StatefulStream<boolean>;
434
+ initialTopMostItemIndex: u.StatefulStream<number>;
435
+ }, {
436
+ scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
437
+ topListHeight: u.StatefulStream<number>;
438
+ }, {
439
+ isScrolling: u.Stream<boolean>;
440
+ isAtTop: u.StatefulStream<boolean>;
441
+ isAtBottom: u.StatefulStream<boolean>;
442
+ atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
443
+ atTopStateChange: u.Stream<boolean>;
444
+ atBottomStateChange: u.Stream<boolean>;
445
+ scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
446
+ atBottomThreshold: u.StatefulStream<number>;
447
+ scrollVelocity: u.StatefulStream<number>;
448
+ lastJumpDueToItemResize: u.StatefulStream<number>;
449
+ }, {
450
+ propsReady: u.StatefulStream<boolean>;
451
+ didMount: u.Stream<boolean>;
452
+ }]) => {
453
+ isScrolling: u.Stream<boolean>;
454
+ isAtTop: u.StatefulStream<boolean>;
455
+ isAtBottom: u.StatefulStream<boolean>;
456
+ atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
457
+ atTopStateChange: u.Stream<boolean>;
458
+ atBottomStateChange: u.Stream<boolean>;
459
+ scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
460
+ atBottomThreshold: u.StatefulStream<number>;
461
+ scrollVelocity: u.StatefulStream<number>;
462
+ lastJumpDueToItemResize: u.StatefulStream<number>;
463
+ listState: u.StatefulStream<ListState>;
464
+ topItemsIndexes: u.StatefulStream<number[]>;
465
+ endReached: u.Stream<number>;
466
+ startReached: u.Stream<number>;
467
+ rangeChanged: u.Stream<ListRange>;
468
+ itemsRendered: u.Stream<ListItems>;
469
+ }>;