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