react-virtuoso 2.3.4 → 2.5.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.
@@ -132,6 +132,7 @@ export declare const initialItemCountSystem: u.SystemSpec<[u.SystemSpec<[u.Syste
132
132
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
133
133
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
134
134
  topListHeight: u.StatefulStream<number>;
135
+ fixedHeaderHeight: u.StatefulStream<number>;
135
136
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
136
137
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
137
138
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -417,6 +418,7 @@ export declare const initialItemCountSystem: u.SystemSpec<[u.SystemSpec<[u.Syste
417
418
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
418
419
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
419
420
  topListHeight: u.StatefulStream<number>;
421
+ fixedHeaderHeight: u.StatefulStream<number>;
420
422
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
421
423
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
422
424
  }, {
@@ -125,6 +125,7 @@ export declare const initialScrollTopSystem: u.SystemSpec<[u.SystemSpec<[u.Syste
125
125
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
126
126
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
127
127
  topListHeight: u.StatefulStream<number>;
128
+ fixedHeaderHeight: u.StatefulStream<number>;
128
129
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
129
130
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
130
131
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -410,6 +411,7 @@ export declare const initialScrollTopSystem: u.SystemSpec<[u.SystemSpec<[u.Syste
410
411
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
411
412
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
412
413
  topListHeight: u.StatefulStream<number>;
414
+ fixedHeaderHeight: u.StatefulStream<number>;
413
415
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
414
416
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
415
417
  }, {
@@ -6,6 +6,7 @@ export interface ListRange {
6
6
  export interface ItemContent<D> {
7
7
  (index: number, data: D): ReactNode;
8
8
  }
9
+ export declare type FixedHeaderContent = (() => React.ReactChildren | React.ReactNode) | null;
9
10
  export interface GroupItemContent<D> {
10
11
  (index: number, groupIndex: number, data: D): ReactNode;
11
12
  }
@@ -24,6 +25,7 @@ export interface GroupProps {
24
25
  'data-known-size': number;
25
26
  }
26
27
  export declare type TopItemListProps = Pick<ComponentPropsWithRef<'div'>, 'style' | 'children'>;
28
+ export declare type TableProps = Pick<ComponentPropsWithRef<'table'>, 'style'>;
27
29
  /**
28
30
  * Passed to the Components.List custom component
29
31
  */
@@ -37,13 +39,18 @@ export declare type GridListProps = Pick<ComponentPropsWithRef<'div'>, 'style' |
37
39
  /**
38
40
  * Passed to the Components.Scroller custom component
39
41
  */
40
- export declare type ScrollerProps = Pick<ComponentPropsWithRef<'div'>, 'style' | 'children' | 'tabIndex' | 'ref'>;
42
+ export declare type ScrollerProps = Pick<ComponentPropsWithRef<'div'>, 'style' | 'children' | 'tabIndex' | 'ref'> & {
43
+ 'data-test-id'?: string;
44
+ 'data-virtuoso-scroller'?: boolean;
45
+ };
41
46
  /**
42
47
  * Passed to the Components.ScrollSeekPlaceholder custom component
43
48
  */
44
49
  export interface ScrollSeekPlaceholderProps {
45
50
  index: number;
46
51
  height: number;
52
+ groupIndex?: number;
53
+ type: 'group' | 'item';
47
54
  }
48
55
  /**
49
56
  * Passed to the GridComponents.ScrollSeekPlaceholder custom component
@@ -98,6 +105,42 @@ export interface Components {
98
105
  */
99
106
  ScrollSeekPlaceholder?: ComponentType<ScrollSeekPlaceholderProps>;
100
107
  }
108
+ /**
109
+ * Customize the TableVirtuoso rendering by passing a set of custom components.
110
+ */
111
+ export interface TableComponents {
112
+ /**
113
+ * Set to customize the wrapping `table` element.
114
+ *
115
+ */
116
+ Table?: ComponentType<TableProps>;
117
+ /**
118
+ * Set to render a fixed header at the top of the table (`thead`). use [[fixedHeaderHeight]] to set the contents
119
+ *
120
+ */
121
+ TableHead?: ComponentType;
122
+ /**
123
+ * Set to customize the item wrapping element. Default is `tr`.
124
+ */
125
+ TableRow?: ComponentType<ItemProps>;
126
+ /**
127
+ * Set to customize the outermost scrollable element. This should not be necessary in general,
128
+ * as the component passes its HTML attribute props to it.
129
+ */
130
+ Scroller?: ComponentType<ScrollerProps>;
131
+ /**
132
+ * Set to customize the items wrapper. Default is `tbody`.
133
+ */
134
+ TableBody?: ComponentType<ListProps>;
135
+ /**
136
+ * Set to render a custom UI when the list is empty.
137
+ */
138
+ EmptyPlaceholder?: ComponentType;
139
+ /**
140
+ * Set to render an item placeholder when the user scrolls fast. See the `scrollSeek` property for more details.
141
+ */
142
+ ScrollSeekPlaceholder?: ComponentType<ScrollSeekPlaceholderProps>;
143
+ }
101
144
  export interface ComputeItemKey<D> {
102
145
  (index: number, item: D): Key;
103
146
  }
@@ -157,6 +200,7 @@ export interface IndexLocationWithAlign {
157
200
  offset?: number;
158
201
  }
159
202
  export declare type ListRootProps = Omit<React.HTMLProps<'div'>, 'ref' | 'data'>;
203
+ export declare type TableRootProps = Omit<React.HTMLProps<'table'>, 'ref' | 'data'>;
160
204
  export declare type GridRootProps = Omit<React.HTMLProps<'div'>, 'ref' | 'data'>;
161
205
  export interface GridItem {
162
206
  'data-index': number;
@@ -130,6 +130,7 @@ export declare const listStateSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<n
130
130
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
131
131
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
132
132
  topListHeight: u.StatefulStream<number>;
133
+ fixedHeaderHeight: u.StatefulStream<number>;
133
134
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
134
135
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
135
136
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -415,6 +416,7 @@ export declare const listStateSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<n
415
416
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
416
417
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
417
418
  topListHeight: u.StatefulStream<number>;
419
+ fixedHeaderHeight: u.StatefulStream<number>;
418
420
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
419
421
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
420
422
  }, {
@@ -642,6 +642,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
642
642
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
643
643
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
644
644
  topListHeight: u.StatefulStream<number>;
645
+ fixedHeaderHeight: u.StatefulStream<number>;
645
646
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
646
647
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
647
648
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -927,6 +928,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
927
928
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
928
929
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
929
930
  topListHeight: u.StatefulStream<number>;
931
+ fixedHeaderHeight: u.StatefulStream<number>;
930
932
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
931
933
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
932
934
  }, {
@@ -1198,6 +1200,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
1198
1200
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
1199
1201
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
1200
1202
  topListHeight: u.StatefulStream<number>;
1203
+ fixedHeaderHeight: u.StatefulStream<number>;
1201
1204
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
1202
1205
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
1203
1206
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -1483,6 +1486,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
1483
1486
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
1484
1487
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
1485
1488
  topListHeight: u.StatefulStream<number>;
1489
+ fixedHeaderHeight: u.StatefulStream<number>;
1486
1490
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
1487
1491
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
1488
1492
  }, {
@@ -1718,6 +1722,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
1718
1722
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
1719
1723
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
1720
1724
  topListHeight: u.StatefulStream<number>;
1725
+ fixedHeaderHeight: u.StatefulStream<number>;
1721
1726
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
1722
1727
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
1723
1728
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -2003,6 +2008,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
2003
2008
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
2004
2009
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
2005
2010
  topListHeight: u.StatefulStream<number>;
2011
+ fixedHeaderHeight: u.StatefulStream<number>;
2006
2012
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
2007
2013
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
2008
2014
  }, {
@@ -2154,6 +2160,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
2154
2160
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
2155
2161
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
2156
2162
  topListHeight: u.StatefulStream<number>;
2163
+ fixedHeaderHeight: u.StatefulStream<number>;
2157
2164
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
2158
2165
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
2159
2166
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -2289,6 +2296,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
2289
2296
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
2290
2297
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
2291
2298
  topListHeight: u.StatefulStream<number>;
2299
+ fixedHeaderHeight: u.StatefulStream<number>;
2292
2300
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
2293
2301
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
2294
2302
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -2574,6 +2582,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
2574
2582
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
2575
2583
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
2576
2584
  topListHeight: u.StatefulStream<number>;
2585
+ fixedHeaderHeight: u.StatefulStream<number>;
2577
2586
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
2578
2587
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
2579
2588
  }, {
@@ -2846,6 +2855,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
2846
2855
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
2847
2856
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
2848
2857
  topListHeight: u.StatefulStream<number>;
2858
+ fixedHeaderHeight: u.StatefulStream<number>;
2849
2859
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
2850
2860
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
2851
2861
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -3131,6 +3141,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
3131
3141
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
3132
3142
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
3133
3143
  topListHeight: u.StatefulStream<number>;
3144
+ fixedHeaderHeight: u.StatefulStream<number>;
3134
3145
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
3135
3146
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
3136
3147
  }, {
@@ -3329,6 +3340,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
3329
3340
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
3330
3341
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
3331
3342
  topListHeight: u.StatefulStream<number>;
3343
+ fixedHeaderHeight: u.StatefulStream<number>;
3332
3344
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
3333
3345
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
3334
3346
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -3614,6 +3626,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
3614
3626
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
3615
3627
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
3616
3628
  topListHeight: u.StatefulStream<number>;
3629
+ fixedHeaderHeight: u.StatefulStream<number>;
3617
3630
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
3618
3631
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
3619
3632
  }, {
@@ -3868,6 +3881,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
3868
3881
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
3869
3882
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
3870
3883
  topListHeight: u.StatefulStream<number>;
3884
+ fixedHeaderHeight: u.StatefulStream<number>;
3871
3885
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
3872
3886
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
3873
3887
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -4153,6 +4167,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4153
4167
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
4154
4168
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
4155
4169
  topListHeight: u.StatefulStream<number>;
4170
+ fixedHeaderHeight: u.StatefulStream<number>;
4156
4171
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
4157
4172
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
4158
4173
  }, {
@@ -4257,7 +4272,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4257
4272
  statefulScrollTop: u.StatefulStream<number>;
4258
4273
  deviation: u.StatefulStream<number>;
4259
4274
  scrollingInProgress: u.StatefulStream<boolean>;
4260
- }>], ([{ scrollTop, scrollTo, scrollHeight }]: [{
4275
+ }>], ([{ scrollTo, scrollContainerState }]: [{
4261
4276
  scrollContainerState: u.Stream<[number, number]>;
4262
4277
  scrollTop: u.Stream<number>;
4263
4278
  viewportHeight: u.Stream<number>;
@@ -4273,7 +4288,6 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4273
4288
  }]) => {
4274
4289
  useWindowScroll: u.StatefulStream<boolean>;
4275
4290
  windowScrollContainerState: u.Stream<[number, number]>;
4276
- windowScrollTop: u.Stream<number>;
4277
4291
  windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
4278
4292
  windowScrollTo: u.Stream<ScrollToOptions>;
4279
4293
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -4491,6 +4505,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4491
4505
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
4492
4506
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
4493
4507
  topListHeight: u.StatefulStream<number>;
4508
+ fixedHeaderHeight: u.StatefulStream<number>;
4494
4509
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
4495
4510
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
4496
4511
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -4776,6 +4791,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4776
4791
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
4777
4792
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
4778
4793
  topListHeight: u.StatefulStream<number>;
4794
+ fixedHeaderHeight: u.StatefulStream<number>;
4779
4795
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
4780
4796
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
4781
4797
  }, {
@@ -4874,6 +4890,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4874
4890
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
4875
4891
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
4876
4892
  topListHeight: u.StatefulStream<number>;
4893
+ fixedHeaderHeight: u.StatefulStream<number>;
4877
4894
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
4878
4895
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
4879
4896
  }, {
@@ -4897,7 +4914,6 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4897
4914
  }, {
4898
4915
  useWindowScroll: u.StatefulStream<boolean>;
4899
4916
  windowScrollContainerState: u.Stream<[number, number]>;
4900
- windowScrollTop: u.Stream<number>;
4901
4917
  windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
4902
4918
  windowScrollTo: u.Stream<ScrollToOptions>;
4903
4919
  }, {
@@ -4906,7 +4922,6 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4906
4922
  scrollIntoView: u.Stream<import("./scrollIntoViewSystem").ScrollIntoViewLocation>;
4907
4923
  useWindowScroll: u.StatefulStream<boolean>;
4908
4924
  windowScrollContainerState: u.Stream<[number, number]>;
4909
- windowScrollTop: u.Stream<number>;
4910
4925
  windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
4911
4926
  windowScrollTo: u.Stream<ScrollToOptions>;
4912
4927
  alignToBottom: u.StatefulStream<boolean>;
@@ -4924,6 +4939,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4924
4939
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
4925
4940
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
4926
4941
  topListHeight: u.StatefulStream<number>;
4942
+ fixedHeaderHeight: u.StatefulStream<number>;
4927
4943
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
4928
4944
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
4929
4945
  }>, u.SystemSpec<never[], () => {
@@ -4992,7 +5008,6 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
4992
5008
  scrollIntoView: u.Stream<import("./scrollIntoViewSystem").ScrollIntoViewLocation>;
4993
5009
  useWindowScroll: u.StatefulStream<boolean>;
4994
5010
  windowScrollContainerState: u.Stream<[number, number]>;
4995
- windowScrollTop: u.Stream<number>;
4996
5011
  windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
4997
5012
  windowScrollTo: u.Stream<ScrollToOptions>;
4998
5013
  alignToBottom: u.StatefulStream<boolean>;
@@ -5010,6 +5025,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
5010
5025
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
5011
5026
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
5012
5027
  topListHeight: u.StatefulStream<number>;
5028
+ fixedHeaderHeight: u.StatefulStream<number>;
5013
5029
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
5014
5030
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
5015
5031
  }, {
@@ -5033,7 +5049,6 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
5033
5049
  scrollIntoView: u.Stream<import("./scrollIntoViewSystem").ScrollIntoViewLocation>;
5034
5050
  useWindowScroll: u.StatefulStream<boolean>;
5035
5051
  windowScrollContainerState: u.Stream<[number, number]>;
5036
- windowScrollTop: u.Stream<number>;
5037
5052
  windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
5038
5053
  windowScrollTo: u.Stream<ScrollToOptions>;
5039
5054
  alignToBottom: u.StatefulStream<boolean>;
@@ -5051,6 +5066,7 @@ export declare const listSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
5051
5066
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
5052
5067
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
5053
5068
  topListHeight: u.StatefulStream<number>;
5069
+ fixedHeaderHeight: u.StatefulStream<number>;
5054
5070
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
5055
5071
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
5056
5072
  isScrolling: u.Stream<boolean>;
@@ -219,6 +219,7 @@ export declare const scrollIntoViewSystem: u.SystemSpec<[u.SystemSpec<[u.SystemS
219
219
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
220
220
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
221
221
  topListHeight: u.StatefulStream<number>;
222
+ fixedHeaderHeight: u.StatefulStream<number>;
222
223
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
223
224
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
224
225
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -504,6 +505,7 @@ export declare const scrollIntoViewSystem: u.SystemSpec<[u.SystemSpec<[u.SystemS
504
505
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
505
506
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
506
507
  topListHeight: u.StatefulStream<number>;
508
+ fixedHeaderHeight: u.StatefulStream<number>;
507
509
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
508
510
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
509
511
  }, {
@@ -44,6 +44,7 @@ export declare const sizeRangeSystem: u.SystemSpec<[u.SystemSpec<never[], () =>
44
44
  listBoundary: u.Stream<NumberTuple>;
45
45
  overscan: u.StatefulStream<Overscan>;
46
46
  topListHeight: u.StatefulStream<number>;
47
+ fixedHeaderHeight: u.StatefulStream<number>;
47
48
  increaseViewportBy: u.StatefulStream<ViewportIncrease>;
48
49
  visibleRange: u.StatefulStream<NumberTuple>;
49
50
  }>;
@@ -111,6 +111,7 @@ export declare const topItemCountSystem: import("@virtuoso.dev/urx").SystemSpec<
111
111
  listBoundary: import("@virtuoso.dev/urx").Stream<import("./sizeRangeSystem").NumberTuple>;
112
112
  overscan: import("@virtuoso.dev/urx").StatefulStream<import("./sizeRangeSystem").Overscan>;
113
113
  topListHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
114
+ fixedHeaderHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
114
115
  increaseViewportBy: import("@virtuoso.dev/urx").StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
115
116
  visibleRange: import("@virtuoso.dev/urx").StatefulStream<import("./sizeRangeSystem").NumberTuple>;
116
117
  }>, import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<never[], () => {
@@ -396,6 +397,7 @@ export declare const topItemCountSystem: import("@virtuoso.dev/urx").SystemSpec<
396
397
  listBoundary: import("@virtuoso.dev/urx").Stream<import("./sizeRangeSystem").NumberTuple>;
397
398
  overscan: import("@virtuoso.dev/urx").StatefulStream<import("./sizeRangeSystem").Overscan>;
398
399
  topListHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
400
+ fixedHeaderHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
399
401
  increaseViewportBy: import("@virtuoso.dev/urx").StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
400
402
  visibleRange: import("@virtuoso.dev/urx").StatefulStream<import("./sizeRangeSystem").NumberTuple>;
401
403
  }, {
@@ -125,6 +125,7 @@ export declare const totalListHeightSystem: u.SystemSpec<[u.SystemSpec<never[],
125
125
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
126
126
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
127
127
  topListHeight: u.StatefulStream<number>;
128
+ fixedHeaderHeight: u.StatefulStream<number>;
128
129
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
129
130
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
130
131
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -410,6 +411,7 @@ export declare const totalListHeightSystem: u.SystemSpec<[u.SystemSpec<never[],
410
411
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
411
412
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
412
413
  topListHeight: u.StatefulStream<number>;
414
+ fixedHeaderHeight: u.StatefulStream<number>;
413
415
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
414
416
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
415
417
  }, {
@@ -166,6 +166,7 @@ export declare const upwardScrollFixSystem: u.SystemSpec<[u.SystemSpec<never[],
166
166
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
167
167
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
168
168
  topListHeight: u.StatefulStream<number>;
169
+ fixedHeaderHeight: u.StatefulStream<number>;
169
170
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
170
171
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
171
172
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
@@ -451,6 +452,7 @@ export declare const upwardScrollFixSystem: u.SystemSpec<[u.SystemSpec<never[],
451
452
  listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
452
453
  overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
453
454
  topListHeight: u.StatefulStream<number>;
455
+ fixedHeaderHeight: u.StatefulStream<number>;
454
456
  increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
455
457
  visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
456
458
  }, {
@@ -13,7 +13,7 @@ export declare const windowScrollerSystem: u.SystemSpec<[u.SystemSpec<never[], (
13
13
  statefulScrollTop: u.StatefulStream<number>;
14
14
  deviation: u.StatefulStream<number>;
15
15
  scrollingInProgress: u.StatefulStream<boolean>;
16
- }>], ([{ scrollTop, scrollTo, scrollHeight }]: [{
16
+ }>], ([{ scrollTo, scrollContainerState }]: [{
17
17
  scrollContainerState: u.Stream<[number, number]>;
18
18
  scrollTop: u.Stream<number>;
19
19
  viewportHeight: u.Stream<number>;
@@ -29,7 +29,6 @@ export declare const windowScrollerSystem: u.SystemSpec<[u.SystemSpec<never[], (
29
29
  }]) => {
30
30
  useWindowScroll: u.StatefulStream<boolean>;
31
31
  windowScrollContainerState: u.Stream<[number, number]>;
32
- windowScrollTop: u.Stream<number>;
33
32
  windowViewportRect: u.Stream<WindowViewportInfo>;
34
33
  windowScrollTo: u.Stream<ScrollToOptions>;
35
34
  }>;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "react-virtuoso",
3
3
  "author": "Petyo Ivanov",
4
4
  "sideEffects": false,
5
- "version": "2.3.4",
5
+ "version": "2.5.0",
6
6
  "homepage": "https://virtuoso.dev/",
7
7
  "license": "MIT",
8
8
  "source": "src/index.tsx",
@@ -30,10 +30,10 @@
30
30
  "start": "microbundle watch --raw --no-sourcemap --strict --no-compress --jsx React.createElement --format=cjs,esm",
31
31
  "build": "microbundle --strict --jsx React.createElement --format=cjs,esm src/index.tsx",
32
32
  "test": "jest --passWithNoTests",
33
- "e2e": "jest --config jest.e2e.config.js --run-in-band --passWithNoTests",
33
+ "e2e": "playwright test",
34
34
  "lint": "eslint src test e2e --ext .ts,.tsx",
35
35
  "typecheck": "tsc --noEmit -p tsconfig.typecheck.json",
36
- "browse-examples": "node e2e/test-cases.mjs && parcel e2e/__examples.html",
36
+ "browse-examples": "node examples/generate-examples.mjs && parcel examples/__examples.html",
37
37
  "prepare": "yarn build && husky install",
38
38
  "semantic-release": "semantic-release"
39
39
  },
@@ -49,6 +49,7 @@
49
49
  "@commitlint/config-conventional": "^12.1.4",
50
50
  "@emotion/core": "^10.1.0",
51
51
  "@emotion/styled": "^10.0.27",
52
+ "@playwright/test": "^1.17.1",
52
53
  "@types/faker": "^5.1.4",
53
54
  "@types/jest": "^26.0.20",
54
55
  "@types/jsdom": "^16.2.3",
@@ -76,13 +77,12 @@
76
77
  "faker": "^5.1.0",
77
78
  "husky": "^6.0.0",
78
79
  "jest": "^26.6.3",
79
- "jest-playwright-preset": "^1.7.0",
80
80
  "jsdom": "^16.4.0",
81
81
  "lodash": "^4.17.21",
82
82
  "microbundle": "^0.13.0",
83
83
  "parcel": "^1.12.4",
84
84
  "parcel-bundler": "^1.12.4",
85
- "playwright": "^1.16.1",
85
+ "playwright": "^1.17.1",
86
86
  "playwright-chromium": "^1.16.1",
87
87
  "prettier": "^2.2.1",
88
88
  "react": "^16.13.1",