react-virtuoso 2.8.0-alpha.3 → 2.8.0-alpha.4

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 (64) hide show
  1. package/dist/AATree.d.ts +40 -40
  2. package/dist/Grid.d.ts +482 -482
  3. package/dist/List.d.ts +6041 -6041
  4. package/dist/Table.d.ts +5875 -5875
  5. package/dist/alignToBottomSystem.d.ts +529 -529
  6. package/dist/comparators.d.ts +3 -3
  7. package/dist/components/CompProps.d.ts +2 -2
  8. package/dist/components/GroupedVirtuoso.d.ts +27 -27
  9. package/dist/components/TableVirtuoso.d.ts +5717 -5717
  10. package/dist/components/Virtuoso.d.ts +205 -205
  11. package/dist/components/VirtuosoGrid.d.ts +93 -93
  12. package/dist/components/index.d.ts +4 -4
  13. package/dist/domIOSystem.d.ts +15 -15
  14. package/dist/followOutputSystem.d.ts +362 -362
  15. package/dist/gridSystem.d.ts +281 -281
  16. package/dist/groupedListSystem.d.ts +71 -71
  17. package/dist/hooks/__mocks__/useChangedChildSizes.d.ts +4 -4
  18. package/dist/hooks/__mocks__/useScrollTop.d.ts +7 -7
  19. package/dist/hooks/__mocks__/useSize.d.ts +3 -3
  20. package/dist/hooks/useChangedChildSizes.d.ts +3 -3
  21. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +3 -3
  22. package/dist/hooks/useScrollTop.d.ts +6 -6
  23. package/dist/hooks/useSize.d.ts +6 -6
  24. package/dist/hooks/useWindowViewportRect.d.ts +2 -2
  25. package/dist/index.d.ts +3 -3
  26. package/dist/index.js +8 -2
  27. package/dist/initialItemCountSystem.d.ts +518 -518
  28. package/dist/initialScrollTopSystem.d.ts +540 -540
  29. package/dist/initialTopMostItemIndexSystem.d.ts +153 -153
  30. package/dist/interfaces.d.ts +279 -279
  31. package/dist/listStateSystem.d.ts +469 -469
  32. package/dist/listSystem.d.ts +5214 -5214
  33. package/dist/loggerSystem.d.ts +17 -17
  34. package/dist/propsReadySystem.d.ts +12 -12
  35. package/dist/scrollIntoViewSystem.d.ts +617 -617
  36. package/dist/scrollSeekSystem.d.ts +57 -57
  37. package/dist/scrollToIndexSystem.d.ts +77 -77
  38. package/dist/sizeRangeSystem.d.ts +50 -50
  39. package/dist/sizeSystem.d.ts +66 -66
  40. package/dist/stateFlagsSystem.d.ts +65 -65
  41. package/dist/topItemCountSystem.d.ts +469 -469
  42. package/dist/totalListHeightSystem.d.ts +497 -497
  43. package/dist/upwardScrollFixSystem.d.ts +590 -590
  44. package/dist/utils/binaryArraySearch.d.ts +6 -6
  45. package/dist/utils/correctItemSize.d.ts +1 -1
  46. package/dist/utils/positionStickyCssValue.d.ts +1 -1
  47. package/dist/utils/simpleMemoize.d.ts +1 -1
  48. package/dist/windowScrollerSystem.d.ts +35 -35
  49. package/package.json +2 -2
  50. package/dist/TableVirtuoso.js +0 -2
  51. package/dist/TableVirtuoso.js.map +0 -1
  52. package/dist/TableVirtuoso.mjs +0 -2
  53. package/dist/TableVirtuoso.mjs.map +0 -1
  54. package/dist/VirtuosoGrid.js +0 -2
  55. package/dist/VirtuosoGrid.js.map +0 -1
  56. package/dist/VirtuosoGrid.mjs +0 -2
  57. package/dist/VirtuosoGrid.mjs.map +0 -1
  58. package/dist/index.js.map +0 -1
  59. package/dist/index.mjs +0 -2
  60. package/dist/index.mjs.map +0 -1
  61. package/dist/shared.js +0 -2
  62. package/dist/shared.js.map +0 -1
  63. package/dist/shared.mjs +0 -2
  64. package/dist/shared.mjs.map +0 -1
@@ -1,469 +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
- 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
- }>;
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
+ }>;