react-virtuoso 2.8.4 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/index.d.ts +860 -3
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.m.js +1 -1
  5. package/dist/index.m.js.map +1 -1
  6. package/package.json +8 -2
  7. package/dist/AATree.d.ts +0 -40
  8. package/dist/Grid.d.ts +0 -482
  9. package/dist/List.d.ts +0 -6253
  10. package/dist/Table.d.ts +0 -6085
  11. package/dist/alignToBottomSystem.d.ts +0 -549
  12. package/dist/comparators.d.ts +0 -3
  13. package/dist/components.d.ts +0 -503
  14. package/dist/domIOSystem.d.ts +0 -15
  15. package/dist/followOutputSystem.d.ts +0 -378
  16. package/dist/gridSystem.d.ts +0 -281
  17. package/dist/groupedListSystem.d.ts +0 -75
  18. package/dist/hooks/__mocks__/useChangedChildSizes.d.ts +0 -4
  19. package/dist/hooks/__mocks__/useScrollTop.d.ts +0 -7
  20. package/dist/hooks/__mocks__/useSize.d.ts +0 -3
  21. package/dist/hooks/useChangedChildSizes.d.ts +0 -3
  22. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +0 -3
  23. package/dist/hooks/useScrollTop.d.ts +0 -6
  24. package/dist/hooks/useSize.d.ts +0 -6
  25. package/dist/hooks/useWindowViewportRect.d.ts +0 -2
  26. package/dist/initialItemCountSystem.d.ts +0 -542
  27. package/dist/initialScrollTopSystem.d.ts +0 -560
  28. package/dist/initialTopMostItemIndexSystem.d.ts +0 -163
  29. package/dist/interfaces.d.ts +0 -285
  30. package/dist/listStateSystem.d.ts +0 -489
  31. package/dist/listSystem.d.ts +0 -5426
  32. package/dist/loggerSystem.d.ts +0 -17
  33. package/dist/propsReadySystem.d.ts +0 -12
  34. package/dist/scrollIntoViewSystem.d.ts +0 -645
  35. package/dist/scrollSeekSystem.d.ts +0 -57
  36. package/dist/scrollToIndexSystem.d.ts +0 -81
  37. package/dist/sizeRangeSystem.d.ts +0 -50
  38. package/dist/sizeSystem.d.ts +0 -68
  39. package/dist/stateFlagsSystem.d.ts +0 -65
  40. package/dist/topItemCountSystem.d.ts +0 -489
  41. package/dist/totalListHeightSystem.d.ts +0 -517
  42. package/dist/upwardScrollFixSystem.d.ts +0 -614
  43. package/dist/utils/binaryArraySearch.d.ts +0 -6
  44. package/dist/utils/correctItemSize.d.ts +0 -1
  45. package/dist/utils/positionStickyCssValue.d.ts +0 -1
  46. package/dist/utils/simpleMemoize.d.ts +0 -1
  47. package/dist/windowScrollerSystem.d.ts +0 -35
@@ -1,614 +0,0 @@
1
- import * as u from '@virtuoso.dev/urx';
2
- import { LogLevel } from './loggerSystem';
3
- /**
4
- * Fixes upward scrolling by calculating and compensation from changed item heights, using scrollBy.
5
- */
6
- export declare const upwardScrollFixSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
7
- scrollContainerState: u.Stream<[number, number]>;
8
- scrollTop: u.Stream<number>;
9
- viewportHeight: u.Stream<number>;
10
- headerHeight: u.StatefulStream<number>;
11
- footerHeight: u.StatefulStream<number>;
12
- scrollHeight: u.Stream<number>;
13
- smoothScrollTargetReached: u.Stream<true>;
14
- scrollTo: u.Stream<ScrollToOptions>;
15
- scrollBy: u.Stream<ScrollToOptions>;
16
- statefulScrollTop: u.StatefulStream<number>;
17
- deviation: u.StatefulStream<number>;
18
- scrollingInProgress: u.StatefulStream<boolean>;
19
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
20
- scrollContainerState: u.Stream<[number, number]>;
21
- scrollTop: u.Stream<number>;
22
- viewportHeight: u.Stream<number>;
23
- headerHeight: u.StatefulStream<number>;
24
- footerHeight: u.StatefulStream<number>;
25
- scrollHeight: u.Stream<number>;
26
- smoothScrollTargetReached: u.Stream<true>;
27
- scrollTo: u.Stream<ScrollToOptions>;
28
- scrollBy: u.Stream<ScrollToOptions>;
29
- statefulScrollTop: u.StatefulStream<number>;
30
- deviation: u.StatefulStream<number>;
31
- scrollingInProgress: u.StatefulStream<boolean>;
32
- }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
33
- scrollContainerState: u.Stream<[number, number]>;
34
- scrollTop: u.Stream<number>;
35
- viewportHeight: u.Stream<number>;
36
- headerHeight: u.StatefulStream<number>;
37
- footerHeight: u.StatefulStream<number>;
38
- scrollHeight: u.Stream<number>;
39
- smoothScrollTargetReached: u.Stream<true>;
40
- scrollTo: u.Stream<ScrollToOptions>;
41
- scrollBy: u.Stream<ScrollToOptions>;
42
- statefulScrollTop: u.StatefulStream<number>;
43
- deviation: u.StatefulStream<number>;
44
- scrollingInProgress: u.StatefulStream<boolean>;
45
- }]) => {
46
- isScrolling: u.Stream<boolean>;
47
- isAtTop: u.StatefulStream<boolean>;
48
- isAtBottom: u.StatefulStream<boolean>;
49
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
50
- atTopStateChange: u.Stream<boolean>;
51
- atBottomStateChange: u.Stream<boolean>;
52
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
53
- atBottomThreshold: u.StatefulStream<number>;
54
- scrollVelocity: u.StatefulStream<number>;
55
- lastJumpDueToItemResize: u.StatefulStream<number>;
56
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
57
- log: u.StatefulStream<import("./loggerSystem").Log>;
58
- logLevel: u.StatefulStream<LogLevel>;
59
- }>], ([{ log }]: [{
60
- log: u.StatefulStream<import("./loggerSystem").Log>;
61
- logLevel: u.StatefulStream<LogLevel>;
62
- }]) => {
63
- data: u.StatefulStream<import("./sizeSystem").Data>;
64
- totalCount: u.Stream<number>;
65
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
66
- groupIndices: u.StatefulStream<number[]>;
67
- defaultItemSize: u.StatefulStream<number | undefined>;
68
- fixedItemSize: u.StatefulStream<number | undefined>;
69
- unshiftWith: u.Stream<number>;
70
- shiftWith: u.Stream<number>;
71
- shiftWithOffset: u.Stream<number>;
72
- beforeUnshiftWith: u.Stream<number>;
73
- firstItemIndex: u.StatefulStream<number>;
74
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
75
- listRefresh: u.Stream<boolean>;
76
- statefulTotalCount: u.StatefulStream<number>;
77
- trackItemSizes: u.StatefulStream<boolean>;
78
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
79
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
80
- log: u.StatefulStream<import("./loggerSystem").Log>;
81
- logLevel: u.StatefulStream<LogLevel>;
82
- }>], ([{ log }]: [{
83
- log: u.StatefulStream<import("./loggerSystem").Log>;
84
- logLevel: u.StatefulStream<LogLevel>;
85
- }]) => {
86
- data: u.StatefulStream<import("./sizeSystem").Data>;
87
- totalCount: u.Stream<number>;
88
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
89
- groupIndices: u.StatefulStream<number[]>;
90
- defaultItemSize: u.StatefulStream<number | undefined>;
91
- fixedItemSize: u.StatefulStream<number | undefined>;
92
- unshiftWith: u.Stream<number>;
93
- shiftWith: u.Stream<number>;
94
- shiftWithOffset: u.Stream<number>;
95
- beforeUnshiftWith: u.Stream<number>;
96
- firstItemIndex: u.StatefulStream<number>;
97
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
98
- listRefresh: u.Stream<boolean>;
99
- statefulTotalCount: u.StatefulStream<number>;
100
- trackItemSizes: u.StatefulStream<boolean>;
101
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
102
- }>, u.SystemSpec<never[], () => {
103
- scrollContainerState: u.Stream<[number, number]>;
104
- scrollTop: u.Stream<number>;
105
- viewportHeight: u.Stream<number>;
106
- headerHeight: u.StatefulStream<number>;
107
- footerHeight: u.StatefulStream<number>;
108
- scrollHeight: u.Stream<number>;
109
- smoothScrollTargetReached: u.Stream<true>;
110
- scrollTo: u.Stream<ScrollToOptions>;
111
- scrollBy: u.Stream<ScrollToOptions>;
112
- statefulScrollTop: u.StatefulStream<number>;
113
- deviation: u.StatefulStream<number>;
114
- scrollingInProgress: u.StatefulStream<boolean>;
115
- }>], ([{ totalCount, groupIndices, sizes }, { scrollTop, headerHeight }]: [{
116
- data: u.StatefulStream<import("./sizeSystem").Data>;
117
- totalCount: u.Stream<number>;
118
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
119
- groupIndices: u.StatefulStream<number[]>;
120
- defaultItemSize: u.StatefulStream<number | undefined>;
121
- fixedItemSize: u.StatefulStream<number | undefined>;
122
- unshiftWith: u.Stream<number>;
123
- shiftWith: u.Stream<number>;
124
- shiftWithOffset: u.Stream<number>;
125
- beforeUnshiftWith: u.Stream<number>;
126
- firstItemIndex: u.StatefulStream<number>;
127
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
128
- listRefresh: u.Stream<boolean>;
129
- statefulTotalCount: u.StatefulStream<number>;
130
- trackItemSizes: u.StatefulStream<boolean>;
131
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
132
- }, {
133
- scrollContainerState: u.Stream<[number, number]>;
134
- scrollTop: u.Stream<number>;
135
- viewportHeight: u.Stream<number>;
136
- headerHeight: u.StatefulStream<number>;
137
- footerHeight: u.StatefulStream<number>;
138
- scrollHeight: u.Stream<number>;
139
- smoothScrollTargetReached: u.Stream<true>;
140
- scrollTo: u.Stream<ScrollToOptions>;
141
- scrollBy: u.Stream<ScrollToOptions>;
142
- statefulScrollTop: u.StatefulStream<number>;
143
- deviation: u.StatefulStream<number>;
144
- scrollingInProgress: u.StatefulStream<boolean>;
145
- }]) => {
146
- groupCounts: u.Stream<number[]>;
147
- topItemsIndexes: u.Stream<[number]>;
148
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
149
- scrollContainerState: u.Stream<[number, number]>;
150
- scrollTop: u.Stream<number>;
151
- viewportHeight: u.Stream<number>;
152
- headerHeight: u.StatefulStream<number>;
153
- footerHeight: u.StatefulStream<number>;
154
- scrollHeight: u.Stream<number>;
155
- smoothScrollTargetReached: u.Stream<true>;
156
- scrollTo: u.Stream<ScrollToOptions>;
157
- scrollBy: u.Stream<ScrollToOptions>;
158
- statefulScrollTop: u.StatefulStream<number>;
159
- deviation: u.StatefulStream<number>;
160
- scrollingInProgress: u.StatefulStream<boolean>;
161
- }>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
162
- scrollContainerState: u.Stream<[number, number]>;
163
- scrollTop: u.Stream<number>;
164
- viewportHeight: u.Stream<number>;
165
- headerHeight: u.StatefulStream<number>;
166
- footerHeight: u.StatefulStream<number>;
167
- scrollHeight: u.Stream<number>;
168
- smoothScrollTargetReached: u.Stream<true>;
169
- scrollTo: u.Stream<ScrollToOptions>;
170
- scrollBy: u.Stream<ScrollToOptions>;
171
- statefulScrollTop: u.StatefulStream<number>;
172
- deviation: u.StatefulStream<number>;
173
- scrollingInProgress: u.StatefulStream<boolean>;
174
- }]) => {
175
- listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
176
- overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
177
- topListHeight: u.StatefulStream<number>;
178
- fixedHeaderHeight: u.StatefulStream<number>;
179
- increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
180
- visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
181
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
182
- log: u.StatefulStream<import("./loggerSystem").Log>;
183
- logLevel: u.StatefulStream<LogLevel>;
184
- }>], ([{ log }]: [{
185
- log: u.StatefulStream<import("./loggerSystem").Log>;
186
- logLevel: u.StatefulStream<LogLevel>;
187
- }]) => {
188
- data: u.StatefulStream<import("./sizeSystem").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<import("./sizeSystem").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<[u.SystemSpec<[u.SystemSpec<never[], () => {
218
- log: u.StatefulStream<import("./loggerSystem").Log>;
219
- logLevel: u.StatefulStream<LogLevel>;
220
- }>], ([{ log }]: [{
221
- log: u.StatefulStream<import("./loggerSystem").Log>;
222
- logLevel: u.StatefulStream<LogLevel>;
223
- }]) => {
224
- data: u.StatefulStream<import("./sizeSystem").Data>;
225
- totalCount: u.Stream<number>;
226
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
227
- groupIndices: u.StatefulStream<number[]>;
228
- defaultItemSize: u.StatefulStream<number | undefined>;
229
- fixedItemSize: u.StatefulStream<number | undefined>;
230
- unshiftWith: u.Stream<number>;
231
- shiftWith: u.Stream<number>;
232
- shiftWithOffset: u.Stream<number>;
233
- beforeUnshiftWith: u.Stream<number>;
234
- firstItemIndex: u.StatefulStream<number>;
235
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
236
- listRefresh: u.Stream<boolean>;
237
- statefulTotalCount: u.StatefulStream<number>;
238
- trackItemSizes: u.StatefulStream<boolean>;
239
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
240
- }>, u.SystemSpec<never[], () => {
241
- scrollContainerState: u.Stream<[number, number]>;
242
- scrollTop: u.Stream<number>;
243
- viewportHeight: u.Stream<number>;
244
- headerHeight: u.StatefulStream<number>;
245
- footerHeight: u.StatefulStream<number>;
246
- scrollHeight: u.Stream<number>;
247
- smoothScrollTargetReached: u.Stream<true>;
248
- scrollTo: u.Stream<ScrollToOptions>;
249
- scrollBy: u.Stream<ScrollToOptions>;
250
- statefulScrollTop: u.StatefulStream<number>;
251
- deviation: u.StatefulStream<number>;
252
- scrollingInProgress: u.StatefulStream<boolean>;
253
- }>, u.SystemSpec<never[], () => {
254
- log: u.StatefulStream<import("./loggerSystem").Log>;
255
- logLevel: u.StatefulStream<LogLevel>;
256
- }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight }, { log },]: [{
257
- data: u.StatefulStream<import("./sizeSystem").Data>;
258
- totalCount: u.Stream<number>;
259
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
260
- groupIndices: u.StatefulStream<number[]>;
261
- defaultItemSize: u.StatefulStream<number | undefined>;
262
- fixedItemSize: u.StatefulStream<number | undefined>;
263
- unshiftWith: u.Stream<number>;
264
- shiftWith: u.Stream<number>;
265
- shiftWithOffset: u.Stream<number>;
266
- beforeUnshiftWith: u.Stream<number>;
267
- firstItemIndex: u.StatefulStream<number>;
268
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
269
- listRefresh: u.Stream<boolean>;
270
- statefulTotalCount: u.StatefulStream<number>;
271
- trackItemSizes: u.StatefulStream<boolean>;
272
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
273
- }, {
274
- scrollContainerState: u.Stream<[number, number]>;
275
- scrollTop: u.Stream<number>;
276
- viewportHeight: u.Stream<number>;
277
- headerHeight: u.StatefulStream<number>;
278
- footerHeight: u.StatefulStream<number>;
279
- scrollHeight: u.Stream<number>;
280
- smoothScrollTargetReached: u.Stream<true>;
281
- scrollTo: u.Stream<ScrollToOptions>;
282
- scrollBy: u.Stream<ScrollToOptions>;
283
- statefulScrollTop: u.StatefulStream<number>;
284
- deviation: u.StatefulStream<number>;
285
- scrollingInProgress: u.StatefulStream<boolean>;
286
- }, {
287
- log: u.StatefulStream<import("./loggerSystem").Log>;
288
- logLevel: u.StatefulStream<LogLevel>;
289
- }]) => {
290
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
291
- topListHeight: u.StatefulStream<number>;
292
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
293
- log: u.StatefulStream<import("./loggerSystem").Log>;
294
- logLevel: u.StatefulStream<LogLevel>;
295
- }>], ([{ log }]: [{
296
- log: u.StatefulStream<import("./loggerSystem").Log>;
297
- logLevel: u.StatefulStream<LogLevel>;
298
- }]) => {
299
- propsReady: u.StatefulStream<boolean>;
300
- didMount: u.Stream<boolean>;
301
- }>], ([{ sizes, listRefresh, defaultItemSize }, { scrollTop }, { scrollToIndex }, { didMount }]: [{
302
- data: u.StatefulStream<import("./sizeSystem").Data>;
303
- totalCount: u.Stream<number>;
304
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
305
- groupIndices: u.StatefulStream<number[]>;
306
- defaultItemSize: u.StatefulStream<number | undefined>;
307
- fixedItemSize: u.StatefulStream<number | undefined>;
308
- unshiftWith: u.Stream<number>;
309
- shiftWith: u.Stream<number>;
310
- shiftWithOffset: u.Stream<number>;
311
- beforeUnshiftWith: u.Stream<number>;
312
- firstItemIndex: u.StatefulStream<number>;
313
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
314
- listRefresh: u.Stream<boolean>;
315
- statefulTotalCount: u.StatefulStream<number>;
316
- trackItemSizes: u.StatefulStream<boolean>;
317
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
318
- }, {
319
- scrollContainerState: u.Stream<[number, number]>;
320
- scrollTop: u.Stream<number>;
321
- viewportHeight: u.Stream<number>;
322
- headerHeight: u.StatefulStream<number>;
323
- footerHeight: u.StatefulStream<number>;
324
- scrollHeight: u.Stream<number>;
325
- smoothScrollTargetReached: u.Stream<true>;
326
- scrollTo: u.Stream<ScrollToOptions>;
327
- scrollBy: u.Stream<ScrollToOptions>;
328
- statefulScrollTop: u.StatefulStream<number>;
329
- deviation: u.StatefulStream<number>;
330
- scrollingInProgress: u.StatefulStream<boolean>;
331
- }, {
332
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
333
- topListHeight: u.StatefulStream<number>;
334
- }, {
335
- propsReady: u.StatefulStream<boolean>;
336
- didMount: u.Stream<boolean>;
337
- }]) => {
338
- scrolledToInitialItem: u.StatefulStream<boolean>;
339
- initialTopMostItemIndex: u.StatefulStream<import("./scrollToIndexSystem").IndexLocation>;
340
- }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
341
- log: u.StatefulStream<import("./loggerSystem").Log>;
342
- logLevel: u.StatefulStream<LogLevel>;
343
- }>], ([{ log }]: [{
344
- log: u.StatefulStream<import("./loggerSystem").Log>;
345
- logLevel: u.StatefulStream<LogLevel>;
346
- }]) => {
347
- data: u.StatefulStream<import("./sizeSystem").Data>;
348
- totalCount: u.Stream<number>;
349
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
350
- groupIndices: u.StatefulStream<number[]>;
351
- defaultItemSize: u.StatefulStream<number | undefined>;
352
- fixedItemSize: u.StatefulStream<number | undefined>;
353
- unshiftWith: u.Stream<number>;
354
- shiftWith: u.Stream<number>;
355
- shiftWithOffset: u.Stream<number>;
356
- beforeUnshiftWith: u.Stream<number>;
357
- firstItemIndex: u.StatefulStream<number>;
358
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
359
- listRefresh: u.Stream<boolean>;
360
- statefulTotalCount: u.StatefulStream<number>;
361
- trackItemSizes: u.StatefulStream<boolean>;
362
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
363
- }>, u.SystemSpec<never[], () => {
364
- scrollContainerState: u.Stream<[number, number]>;
365
- scrollTop: u.Stream<number>;
366
- viewportHeight: u.Stream<number>;
367
- headerHeight: u.StatefulStream<number>;
368
- footerHeight: u.StatefulStream<number>;
369
- scrollHeight: u.Stream<number>;
370
- smoothScrollTargetReached: u.Stream<true>;
371
- scrollTo: u.Stream<ScrollToOptions>;
372
- scrollBy: u.Stream<ScrollToOptions>;
373
- statefulScrollTop: u.StatefulStream<number>;
374
- deviation: u.StatefulStream<number>;
375
- scrollingInProgress: u.StatefulStream<boolean>;
376
- }>, u.SystemSpec<never[], () => {
377
- log: u.StatefulStream<import("./loggerSystem").Log>;
378
- logLevel: u.StatefulStream<LogLevel>;
379
- }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight }, { log },]: [{
380
- data: u.StatefulStream<import("./sizeSystem").Data>;
381
- totalCount: u.Stream<number>;
382
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
383
- groupIndices: u.StatefulStream<number[]>;
384
- defaultItemSize: u.StatefulStream<number | undefined>;
385
- fixedItemSize: u.StatefulStream<number | undefined>;
386
- unshiftWith: u.Stream<number>;
387
- shiftWith: u.Stream<number>;
388
- shiftWithOffset: u.Stream<number>;
389
- beforeUnshiftWith: u.Stream<number>;
390
- firstItemIndex: u.StatefulStream<number>;
391
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
392
- listRefresh: u.Stream<boolean>;
393
- statefulTotalCount: u.StatefulStream<number>;
394
- trackItemSizes: u.StatefulStream<boolean>;
395
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
396
- }, {
397
- scrollContainerState: u.Stream<[number, number]>;
398
- scrollTop: u.Stream<number>;
399
- viewportHeight: u.Stream<number>;
400
- headerHeight: u.StatefulStream<number>;
401
- footerHeight: u.StatefulStream<number>;
402
- scrollHeight: u.Stream<number>;
403
- smoothScrollTargetReached: u.Stream<true>;
404
- scrollTo: u.Stream<ScrollToOptions>;
405
- scrollBy: u.Stream<ScrollToOptions>;
406
- statefulScrollTop: u.StatefulStream<number>;
407
- deviation: u.StatefulStream<number>;
408
- scrollingInProgress: u.StatefulStream<boolean>;
409
- }, {
410
- log: u.StatefulStream<import("./loggerSystem").Log>;
411
- logLevel: u.StatefulStream<LogLevel>;
412
- }]) => {
413
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
414
- topListHeight: u.StatefulStream<number>;
415
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
416
- scrollContainerState: u.Stream<[number, number]>;
417
- scrollTop: u.Stream<number>;
418
- viewportHeight: u.Stream<number>;
419
- headerHeight: u.StatefulStream<number>;
420
- footerHeight: u.StatefulStream<number>;
421
- scrollHeight: u.Stream<number>;
422
- smoothScrollTargetReached: u.Stream<true>;
423
- scrollTo: u.Stream<ScrollToOptions>;
424
- scrollBy: u.Stream<ScrollToOptions>;
425
- statefulScrollTop: u.StatefulStream<number>;
426
- deviation: u.StatefulStream<number>;
427
- scrollingInProgress: u.StatefulStream<boolean>;
428
- }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
429
- scrollContainerState: u.Stream<[number, number]>;
430
- scrollTop: u.Stream<number>;
431
- viewportHeight: u.Stream<number>;
432
- headerHeight: u.StatefulStream<number>;
433
- footerHeight: u.StatefulStream<number>;
434
- scrollHeight: u.Stream<number>;
435
- smoothScrollTargetReached: u.Stream<true>;
436
- scrollTo: u.Stream<ScrollToOptions>;
437
- scrollBy: u.Stream<ScrollToOptions>;
438
- statefulScrollTop: u.StatefulStream<number>;
439
- deviation: u.StatefulStream<number>;
440
- scrollingInProgress: u.StatefulStream<boolean>;
441
- }]) => {
442
- isScrolling: u.Stream<boolean>;
443
- isAtTop: u.StatefulStream<boolean>;
444
- isAtBottom: u.StatefulStream<boolean>;
445
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
446
- atTopStateChange: u.Stream<boolean>;
447
- atBottomStateChange: u.Stream<boolean>;
448
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
449
- atBottomThreshold: u.StatefulStream<number>;
450
- scrollVelocity: u.StatefulStream<number>;
451
- lastJumpDueToItemResize: u.StatefulStream<number>;
452
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
453
- log: u.StatefulStream<import("./loggerSystem").Log>;
454
- logLevel: u.StatefulStream<LogLevel>;
455
- }>], ([{ log }]: [{
456
- log: u.StatefulStream<import("./loggerSystem").Log>;
457
- logLevel: u.StatefulStream<LogLevel>;
458
- }]) => {
459
- propsReady: u.StatefulStream<boolean>;
460
- didMount: u.Stream<boolean>;
461
- }>], ([{ sizes, totalCount, data, firstItemIndex }, groupedListSystem, { visibleRange, listBoundary, topListHeight: rangeTopListHeight }, { scrolledToInitialItem, initialTopMostItemIndex }, { topListHeight }, stateFlags, { didMount },]: [{
462
- data: u.StatefulStream<import("./sizeSystem").Data>;
463
- totalCount: u.Stream<number>;
464
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
465
- groupIndices: u.StatefulStream<number[]>;
466
- defaultItemSize: u.StatefulStream<number | undefined>;
467
- fixedItemSize: u.StatefulStream<number | undefined>;
468
- unshiftWith: u.Stream<number>;
469
- shiftWith: u.Stream<number>;
470
- shiftWithOffset: u.Stream<number>;
471
- beforeUnshiftWith: u.Stream<number>;
472
- firstItemIndex: u.StatefulStream<number>;
473
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
474
- listRefresh: u.Stream<boolean>;
475
- statefulTotalCount: u.StatefulStream<number>;
476
- trackItemSizes: u.StatefulStream<boolean>;
477
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
478
- }, {
479
- groupCounts: u.Stream<number[]>;
480
- topItemsIndexes: u.Stream<[number]>;
481
- }, {
482
- listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
483
- overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
484
- topListHeight: u.StatefulStream<number>;
485
- fixedHeaderHeight: u.StatefulStream<number>;
486
- increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
487
- visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
488
- }, {
489
- scrolledToInitialItem: u.StatefulStream<boolean>;
490
- initialTopMostItemIndex: u.StatefulStream<import("./scrollToIndexSystem").IndexLocation>;
491
- }, {
492
- scrollToIndex: u.Stream<import("./scrollToIndexSystem").IndexLocation>;
493
- topListHeight: u.StatefulStream<number>;
494
- }, {
495
- isScrolling: u.Stream<boolean>;
496
- isAtTop: u.StatefulStream<boolean>;
497
- isAtBottom: u.StatefulStream<boolean>;
498
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
499
- atTopStateChange: u.Stream<boolean>;
500
- atBottomStateChange: u.Stream<boolean>;
501
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
502
- atBottomThreshold: u.StatefulStream<number>;
503
- scrollVelocity: u.StatefulStream<number>;
504
- lastJumpDueToItemResize: u.StatefulStream<number>;
505
- }, {
506
- propsReady: u.StatefulStream<boolean>;
507
- didMount: u.Stream<boolean>;
508
- }]) => {
509
- isScrolling: u.Stream<boolean>;
510
- isAtTop: u.StatefulStream<boolean>;
511
- isAtBottom: u.StatefulStream<boolean>;
512
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
513
- atTopStateChange: u.Stream<boolean>;
514
- atBottomStateChange: u.Stream<boolean>;
515
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
516
- atBottomThreshold: u.StatefulStream<number>;
517
- scrollVelocity: u.StatefulStream<number>;
518
- lastJumpDueToItemResize: u.StatefulStream<number>;
519
- listState: u.StatefulStream<import("./listStateSystem").ListState>;
520
- topItemsIndexes: u.StatefulStream<number[]>;
521
- endReached: u.Stream<number>;
522
- startReached: u.Stream<number>;
523
- rangeChanged: u.Stream<import("./interfaces").ListRange>;
524
- itemsRendered: u.Stream<import("./listStateSystem").ListItems>;
525
- }>, u.SystemSpec<[u.SystemSpec<never[], () => {
526
- log: u.StatefulStream<import("./loggerSystem").Log>;
527
- logLevel: u.StatefulStream<LogLevel>;
528
- }>], ([{ log }]: [{
529
- log: u.StatefulStream<import("./loggerSystem").Log>;
530
- logLevel: u.StatefulStream<LogLevel>;
531
- }]) => {
532
- data: u.StatefulStream<import("./sizeSystem").Data>;
533
- totalCount: u.Stream<number>;
534
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
535
- groupIndices: u.StatefulStream<number[]>;
536
- defaultItemSize: u.StatefulStream<number | undefined>;
537
- fixedItemSize: u.StatefulStream<number | undefined>;
538
- unshiftWith: u.Stream<number>;
539
- shiftWith: u.Stream<number>;
540
- shiftWithOffset: u.Stream<number>;
541
- beforeUnshiftWith: u.Stream<number>;
542
- firstItemIndex: u.StatefulStream<number>;
543
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
544
- listRefresh: u.Stream<boolean>;
545
- statefulTotalCount: u.StatefulStream<number>;
546
- trackItemSizes: u.StatefulStream<boolean>;
547
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
548
- }>, u.SystemSpec<never[], () => {
549
- log: u.StatefulStream<import("./loggerSystem").Log>;
550
- logLevel: u.StatefulStream<LogLevel>;
551
- }>], ([{ scrollBy, scrollTop, deviation, scrollingInProgress }, { isScrolling, isAtBottom, atBottomState, scrollDirection, lastJumpDueToItemResize }, { listState }, { beforeUnshiftWith, shiftWithOffset, sizes }, { log },]: [{
552
- scrollContainerState: u.Stream<[number, number]>;
553
- scrollTop: u.Stream<number>;
554
- viewportHeight: u.Stream<number>;
555
- headerHeight: u.StatefulStream<number>;
556
- footerHeight: u.StatefulStream<number>;
557
- scrollHeight: u.Stream<number>;
558
- smoothScrollTargetReached: u.Stream<true>;
559
- scrollTo: u.Stream<ScrollToOptions>;
560
- scrollBy: u.Stream<ScrollToOptions>;
561
- statefulScrollTop: u.StatefulStream<number>;
562
- deviation: u.StatefulStream<number>;
563
- scrollingInProgress: u.StatefulStream<boolean>;
564
- }, {
565
- isScrolling: u.Stream<boolean>;
566
- isAtTop: u.StatefulStream<boolean>;
567
- isAtBottom: u.StatefulStream<boolean>;
568
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
569
- atTopStateChange: u.Stream<boolean>;
570
- atBottomStateChange: u.Stream<boolean>;
571
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
572
- atBottomThreshold: u.StatefulStream<number>;
573
- scrollVelocity: u.StatefulStream<number>;
574
- lastJumpDueToItemResize: u.StatefulStream<number>;
575
- }, {
576
- isScrolling: u.Stream<boolean>;
577
- isAtTop: u.StatefulStream<boolean>;
578
- isAtBottom: u.StatefulStream<boolean>;
579
- atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
580
- atTopStateChange: u.Stream<boolean>;
581
- atBottomStateChange: u.Stream<boolean>;
582
- scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
583
- atBottomThreshold: u.StatefulStream<number>;
584
- scrollVelocity: u.StatefulStream<number>;
585
- lastJumpDueToItemResize: u.StatefulStream<number>;
586
- listState: u.StatefulStream<import("./listStateSystem").ListState>;
587
- topItemsIndexes: u.StatefulStream<number[]>;
588
- endReached: u.Stream<number>;
589
- startReached: u.Stream<number>;
590
- rangeChanged: u.Stream<import("./interfaces").ListRange>;
591
- itemsRendered: u.Stream<import("./listStateSystem").ListItems>;
592
- }, {
593
- data: u.StatefulStream<import("./sizeSystem").Data>;
594
- totalCount: u.Stream<number>;
595
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
596
- groupIndices: u.StatefulStream<number[]>;
597
- defaultItemSize: u.StatefulStream<number | undefined>;
598
- fixedItemSize: u.StatefulStream<number | undefined>;
599
- unshiftWith: u.Stream<number>;
600
- shiftWith: u.Stream<number>;
601
- shiftWithOffset: u.Stream<number>;
602
- beforeUnshiftWith: u.Stream<number>;
603
- firstItemIndex: u.StatefulStream<number>;
604
- sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
605
- listRefresh: u.Stream<boolean>;
606
- statefulTotalCount: u.StatefulStream<number>;
607
- trackItemSizes: u.StatefulStream<boolean>;
608
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
609
- }, {
610
- log: u.StatefulStream<import("./loggerSystem").Log>;
611
- logLevel: u.StatefulStream<LogLevel>;
612
- }]) => {
613
- deviation: u.StatefulStream<number>;
614
- }>;
@@ -1,6 +0,0 @@
1
- export declare type Comparator<T> = {
2
- (item: T, value: number): -1 | 0 | 1;
3
- };
4
- export declare function findIndexOfClosestSmallerOrEqual<T>(items: T[], value: number, comparator: Comparator<T>, start?: number): number;
5
- export declare function findClosestSmallerOrEqual<T>(items: T[], value: number, comparator: Comparator<T>): T;
6
- export declare function findRange<T>(items: T[], startValue: number, endValue: number, comparator: Comparator<T>): T[];
@@ -1 +0,0 @@
1
- export declare function correctItemSize(el: HTMLElement, dimension: 'height' | 'width'): number;
@@ -1 +0,0 @@
1
- export declare const positionStickyCssValue: () => "-webkit-sticky" | "sticky";
@@ -1 +0,0 @@
1
- export declare function simpleMemoize<T extends () => any>(func: T): T;
@@ -1,35 +0,0 @@
1
- import * as u from '@virtuoso.dev/urx';
2
- import { WindowViewportInfo } from './interfaces';
3
- export declare const windowScrollerSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
4
- scrollContainerState: u.Stream<[number, number]>;
5
- scrollTop: u.Stream<number>;
6
- viewportHeight: u.Stream<number>;
7
- headerHeight: u.StatefulStream<number>;
8
- footerHeight: u.StatefulStream<number>;
9
- scrollHeight: u.Stream<number>;
10
- smoothScrollTargetReached: u.Stream<true>;
11
- scrollTo: u.Stream<ScrollToOptions>;
12
- scrollBy: u.Stream<ScrollToOptions>;
13
- statefulScrollTop: u.StatefulStream<number>;
14
- deviation: u.StatefulStream<number>;
15
- scrollingInProgress: u.StatefulStream<boolean>;
16
- }>], ([{ scrollTo, scrollContainerState }]: [{
17
- scrollContainerState: u.Stream<[number, number]>;
18
- scrollTop: u.Stream<number>;
19
- viewportHeight: u.Stream<number>;
20
- headerHeight: u.StatefulStream<number>;
21
- footerHeight: u.StatefulStream<number>;
22
- scrollHeight: u.Stream<number>;
23
- smoothScrollTargetReached: u.Stream<true>;
24
- scrollTo: u.Stream<ScrollToOptions>;
25
- scrollBy: u.Stream<ScrollToOptions>;
26
- statefulScrollTop: u.StatefulStream<number>;
27
- deviation: u.StatefulStream<number>;
28
- scrollingInProgress: u.StatefulStream<boolean>;
29
- }]) => {
30
- useWindowScroll: u.StatefulStream<boolean>;
31
- customScrollParent: u.StatefulStream<HTMLElement | undefined>;
32
- windowScrollContainerState: u.Stream<[number, number]>;
33
- windowViewportRect: u.Stream<WindowViewportInfo>;
34
- windowScrollTo: u.Stream<ScrollToOptions>;
35
- }>;