@ringcentral/juno 2.8.1 → 2.11.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 (90) hide show
  1. package/components/Buttons/IconButton/IconButton.js +5 -2
  2. package/components/Buttons/IconButton/styles/StyledIconButton.js +15 -7
  3. package/components/Dialer/DialPad/DialPad.d.ts +3 -3
  4. package/components/Dialer/DialPad/DialPad.js +2 -3
  5. package/components/Dialog/Dialog.js +4 -2
  6. package/components/Downshift/SuggestionList/SuggestionList.d.ts +3 -3
  7. package/components/Drawer/Drawer.js +8 -2
  8. package/components/Forms/TextField/TextField.d.ts +2 -2
  9. package/components/Forms/TextField/TextField.js +19 -4
  10. package/components/PortalHost/context/HasPortalParentContext.d.ts +3 -0
  11. package/components/PortalHost/context/HasPortalParentContext.js +9 -0
  12. package/components/PortalHost/utils/usePortalManagerWithID.js +5 -4
  13. package/components/Snackbar/Snackbar.js +3 -1
  14. package/components/Tabs/Tabs/MoreMenuTabs/MoreMenuTabs.js +17 -13
  15. package/components/VirtualizedMenu/VirtualizedMenu.js +4 -12
  16. package/components/Virtuoso/react-virtuoso/Grid.d.ts +28 -18
  17. package/components/Virtuoso/react-virtuoso/List.d.ts +487 -183
  18. package/components/Virtuoso/react-virtuoso/List.js +13 -2
  19. package/components/Virtuoso/react-virtuoso/Table.d.ts +434 -172
  20. package/components/Virtuoso/react-virtuoso/Table.js +14 -2
  21. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +32 -16
  22. package/components/Virtuoso/react-virtuoso/components.d.ts +8 -0
  23. package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -1
  24. package/components/Virtuoso/react-virtuoso/domIOSystem.js +4 -2
  25. package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +20 -10
  26. package/components/Virtuoso/react-virtuoso/followOutputSystem.js +1 -0
  27. package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +24 -14
  28. package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +4 -2
  29. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +2 -1
  30. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +5 -10
  31. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -1
  32. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +16 -7
  33. package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +2 -2
  34. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +24 -12
  35. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +32 -16
  36. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +8 -4
  37. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +1 -1
  38. package/components/Virtuoso/react-virtuoso/interfaces.d.ts +22 -5
  39. package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +24 -12
  40. package/components/Virtuoso/react-virtuoso/listSystem.d.ts +287 -146
  41. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +32 -16
  42. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +4 -2
  43. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +4 -2
  44. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +4 -2
  45. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +4 -2
  46. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +5 -4
  47. package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +24 -12
  48. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +28 -14
  49. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +4 -0
  50. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +32 -16
  51. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +12 -35
  52. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +1 -0
  53. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +7 -0
  54. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
  55. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +6 -2
  56. package/components/Virtuoso/utils/useHighlightScroll.js +1 -2
  57. package/es6/components/Buttons/IconButton/IconButton.js +5 -2
  58. package/es6/components/Buttons/IconButton/styles/StyledIconButton.js +16 -8
  59. package/es6/components/Dialer/DialPad/DialPad.js +3 -4
  60. package/es6/components/Dialog/Dialog.js +4 -2
  61. package/es6/components/Drawer/Drawer.js +8 -2
  62. package/es6/components/Forms/TextField/TextField.js +20 -5
  63. package/es6/components/PortalHost/context/HasPortalParentContext.js +6 -0
  64. package/es6/components/PortalHost/utils/usePortalManagerWithID.js +5 -4
  65. package/es6/components/Snackbar/Snackbar.js +3 -1
  66. package/es6/components/Tabs/Tabs/MoreMenuTabs/MoreMenuTabs.js +17 -13
  67. package/es6/components/VirtualizedMenu/VirtualizedMenu.js +6 -14
  68. package/es6/components/Virtuoso/react-virtuoso/List.js +14 -3
  69. package/es6/components/Virtuoso/react-virtuoso/Table.js +14 -2
  70. package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +4 -3
  71. package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +1 -0
  72. package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +5 -10
  73. package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +16 -7
  74. package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +2 -2
  75. package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +1 -1
  76. package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +5 -4
  77. package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +4 -0
  78. package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +12 -35
  79. package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +4 -0
  80. package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +6 -2
  81. package/es6/components/Virtuoso/utils/useHighlightScroll.js +1 -2
  82. package/es6/foundation/theme/assets/palette.light.json +3 -3
  83. package/es6/foundation/theme/createTheme.js +1 -1
  84. package/foundation/theme/ThemeHandler.d.ts +1 -1
  85. package/foundation/theme/ThemeSwitcherProvider/ThemeSwitcherProvider.d.ts +2 -2
  86. package/foundation/theme/assets/palette.light.json +3 -3
  87. package/foundation/theme/theme.type.d.ts +2 -2
  88. package/foundation/typings/deepPartial.d.ts +1 -3
  89. package/foundation/utils/deepmerge.d.ts +3 -2
  90. package/package.json +3 -2
@@ -11,6 +11,7 @@ var useSize_1 = tslib_1.__importDefault(require("./hooks/useSize"));
11
11
  var useWindowViewportRect_1 = tslib_1.__importDefault(require("./hooks/useWindowViewportRect"));
12
12
  var List_1 = require("./List");
13
13
  var listSystem_1 = require("./listSystem");
14
+ var conditionalFlushSync_1 = tslib_1.__importDefault(require("./utils/conditionalFlushSync"));
14
15
  var correctItemSize_1 = require("./utils/correctItemSize");
15
16
  var tableComponentPropsSystem = urx_1.system(function () {
16
17
  var itemContent = urx_1.statefulStream(function (index) { return React.createElement("td", null,
@@ -39,6 +40,7 @@ var tableComponentPropsSystem = urx_1.system(function () {
39
40
  ScrollerComponent: distinctProp('Scroller', 'div'),
40
41
  EmptyPlaceholder: distinctProp('EmptyPlaceholder'),
41
42
  ScrollSeekPlaceholder: distinctProp('ScrollSeekPlaceholder'),
43
+ FillerRow: distinctProp('FillerRow'),
42
44
  };
43
45
  });
44
46
  var combinedSystem = urx_1.system(function (_a) {
@@ -50,14 +52,22 @@ var DefaultScrollSeekPlaceholder = function (_a) {
50
52
  return (React.createElement("tr", null,
51
53
  React.createElement("td", { style: { height: height } })));
52
54
  };
53
- var FillerRow = function (_a) {
55
+ var DefaultFillerRow = function (_a) {
54
56
  var height = _a.height;
55
57
  return (React.createElement("tr", null,
56
58
  React.createElement("td", { style: { height: height, padding: 0, border: 0 } })));
57
59
  };
58
60
  exports.Items = React.memo(function VirtuosoItems() {
59
61
  var listState = exports.useEmitterValue('listState');
60
- var deviation = exports.useEmitterValue('deviation');
62
+ var _a = tslib_1.__read(React.useState(0), 2), deviation = _a[0], setDeviation = _a[1];
63
+ var react18ConcurrentRendering = exports.useEmitterValue('react18ConcurrentRendering');
64
+ exports.useEmitter('deviation', function (value) {
65
+ if (deviation !== value) {
66
+ conditionalFlushSync_1.default(react18ConcurrentRendering)(function () {
67
+ return setDeviation(value);
68
+ });
69
+ }
70
+ });
61
71
  var sizeRanges = exports.usePublisher('sizeRanges');
62
72
  var useWindowScroll = exports.useEmitterValue('useWindowScroll');
63
73
  var customScrollParent = exports.useEmitterValue('customScrollParent');
@@ -73,6 +83,7 @@ exports.Items = React.memo(function VirtuosoItems() {
73
83
  var ref = useChangedChildSizes_1.default(sizeRanges, itemSize, trackItemSizes, scrollContainerStateCallback, log, customScrollParent);
74
84
  var EmptyPlaceholder = exports.useEmitterValue('EmptyPlaceholder');
75
85
  var ScrollSeekPlaceholder = exports.useEmitterValue('ScrollSeekPlaceholder') || DefaultScrollSeekPlaceholder;
86
+ var FillerRow = exports.useEmitterValue('FillerRow') || DefaultFillerRow;
76
87
  var TableBodyComponent = exports.useEmitterValue('TableBodyComponent');
77
88
  var TableRowComponent = exports.useEmitterValue('TableRowComponent');
78
89
  var computeItemKey = exports.useEmitterValue('computeItemKey');
@@ -157,6 +168,7 @@ exports.Table = (_a = react_urx_1.systemToComponent(combinedSystem, {
157
168
  customScrollParent: 'customScrollParent',
158
169
  scrollerRef: 'scrollerRef',
159
170
  logLevel: 'logLevel',
171
+ react18ConcurrentRendering: 'react18ConcurrentRendering',
160
172
  },
161
173
  methods: {
162
174
  scrollToIndex: 'scrollToIndex',
@@ -1,25 +1,27 @@
1
1
  import * as u from '@virtuoso.dev/urx';
2
2
  export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
3
- scrollContainerState: u.Stream<[number, number]>;
3
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
4
4
  scrollTop: u.Stream<number>;
5
5
  viewportHeight: u.Stream<number>;
6
6
  headerHeight: u.StatefulStream<number>;
7
7
  footerHeight: u.StatefulStream<number>;
8
8
  scrollHeight: u.Stream<number>;
9
9
  smoothScrollTargetReached: u.Stream<true>;
10
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
10
11
  scrollTo: u.Stream<ScrollToOptions>;
11
12
  scrollBy: u.Stream<ScrollToOptions>;
12
13
  statefulScrollTop: u.StatefulStream<number>;
13
14
  deviation: u.StatefulStream<number>;
14
15
  scrollingInProgress: u.StatefulStream<boolean>;
15
16
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
16
- scrollContainerState: u.Stream<[number, number]>;
17
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
17
18
  scrollTop: u.Stream<number>;
18
19
  viewportHeight: u.Stream<number>;
19
20
  headerHeight: u.StatefulStream<number>;
20
21
  footerHeight: u.StatefulStream<number>;
21
22
  scrollHeight: u.Stream<number>;
22
23
  smoothScrollTargetReached: u.Stream<true>;
24
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
23
25
  scrollTo: u.Stream<ScrollToOptions>;
24
26
  scrollBy: u.Stream<ScrollToOptions>;
25
27
  statefulScrollTop: u.StatefulStream<number>;
@@ -72,13 +74,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
72
74
  trackItemSizes: u.StatefulStream<boolean>;
73
75
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
74
76
  }>, u.SystemSpec<never[], () => {
75
- scrollContainerState: u.Stream<[number, number]>;
77
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
76
78
  scrollTop: u.Stream<number>;
77
79
  viewportHeight: u.Stream<number>;
78
80
  headerHeight: u.StatefulStream<number>;
79
81
  footerHeight: u.StatefulStream<number>;
80
82
  scrollHeight: u.Stream<number>;
81
83
  smoothScrollTargetReached: u.Stream<true>;
84
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
82
85
  scrollTo: u.Stream<ScrollToOptions>;
83
86
  scrollBy: u.Stream<ScrollToOptions>;
84
87
  statefulScrollTop: u.StatefulStream<number>;
@@ -102,13 +105,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
102
105
  trackItemSizes: u.StatefulStream<boolean>;
103
106
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
104
107
  }, {
105
- scrollContainerState: u.Stream<[number, number]>;
108
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
106
109
  scrollTop: u.Stream<number>;
107
110
  viewportHeight: u.Stream<number>;
108
111
  headerHeight: u.StatefulStream<number>;
109
112
  footerHeight: u.StatefulStream<number>;
110
113
  scrollHeight: u.Stream<number>;
111
114
  smoothScrollTargetReached: u.Stream<true>;
115
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
112
116
  scrollTo: u.Stream<ScrollToOptions>;
113
117
  scrollBy: u.Stream<ScrollToOptions>;
114
118
  statefulScrollTop: u.StatefulStream<number>;
@@ -118,26 +122,28 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
118
122
  groupCounts: u.Stream<number[]>;
119
123
  topItemsIndexes: u.Stream<[number]>;
120
124
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
121
- scrollContainerState: u.Stream<[number, number]>;
125
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
122
126
  scrollTop: u.Stream<number>;
123
127
  viewportHeight: u.Stream<number>;
124
128
  headerHeight: u.StatefulStream<number>;
125
129
  footerHeight: u.StatefulStream<number>;
126
130
  scrollHeight: u.Stream<number>;
127
131
  smoothScrollTargetReached: u.Stream<true>;
132
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
128
133
  scrollTo: u.Stream<ScrollToOptions>;
129
134
  scrollBy: u.Stream<ScrollToOptions>;
130
135
  statefulScrollTop: u.StatefulStream<number>;
131
136
  deviation: u.StatefulStream<number>;
132
137
  scrollingInProgress: u.StatefulStream<boolean>;
133
138
  }>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
134
- scrollContainerState: u.Stream<[number, number]>;
139
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
135
140
  scrollTop: u.Stream<number>;
136
141
  viewportHeight: u.Stream<number>;
137
142
  headerHeight: u.StatefulStream<number>;
138
143
  footerHeight: u.StatefulStream<number>;
139
144
  scrollHeight: u.Stream<number>;
140
145
  smoothScrollTargetReached: u.Stream<true>;
146
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
141
147
  scrollTo: u.Stream<ScrollToOptions>;
142
148
  scrollBy: u.Stream<ScrollToOptions>;
143
149
  statefulScrollTop: u.StatefulStream<number>;
@@ -174,13 +180,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
174
180
  trackItemSizes: u.StatefulStream<boolean>;
175
181
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
176
182
  }>, u.SystemSpec<never[], () => {
177
- scrollContainerState: u.Stream<[number, number]>;
183
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
178
184
  scrollTop: u.Stream<number>;
179
185
  viewportHeight: u.Stream<number>;
180
186
  headerHeight: u.StatefulStream<number>;
181
187
  footerHeight: u.StatefulStream<number>;
182
188
  scrollHeight: u.Stream<number>;
183
189
  smoothScrollTargetReached: u.Stream<true>;
190
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
184
191
  scrollTo: u.Stream<ScrollToOptions>;
185
192
  scrollBy: u.Stream<ScrollToOptions>;
186
193
  statefulScrollTop: u.StatefulStream<number>;
@@ -210,13 +217,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
210
217
  trackItemSizes: u.StatefulStream<boolean>;
211
218
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
212
219
  }>, u.SystemSpec<never[], () => {
213
- scrollContainerState: u.Stream<[number, number]>;
220
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
214
221
  scrollTop: u.Stream<number>;
215
222
  viewportHeight: u.Stream<number>;
216
223
  headerHeight: u.StatefulStream<number>;
217
224
  footerHeight: u.StatefulStream<number>;
218
225
  scrollHeight: u.Stream<number>;
219
226
  smoothScrollTargetReached: u.Stream<true>;
227
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
220
228
  scrollTo: u.Stream<ScrollToOptions>;
221
229
  scrollBy: u.Stream<ScrollToOptions>;
222
230
  statefulScrollTop: u.StatefulStream<number>;
@@ -243,13 +251,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
243
251
  trackItemSizes: u.StatefulStream<boolean>;
244
252
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
245
253
  }, {
246
- scrollContainerState: u.Stream<[number, number]>;
254
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
247
255
  scrollTop: u.Stream<number>;
248
256
  viewportHeight: u.Stream<number>;
249
257
  headerHeight: u.StatefulStream<number>;
250
258
  footerHeight: u.StatefulStream<number>;
251
259
  scrollHeight: u.Stream<number>;
252
260
  smoothScrollTargetReached: u.Stream<true>;
261
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
253
262
  scrollTo: u.Stream<ScrollToOptions>;
254
263
  scrollBy: u.Stream<ScrollToOptions>;
255
264
  statefulScrollTop: u.StatefulStream<number>;
@@ -288,13 +297,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
288
297
  trackItemSizes: u.StatefulStream<boolean>;
289
298
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
290
299
  }, {
291
- scrollContainerState: u.Stream<[number, number]>;
300
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
292
301
  scrollTop: u.Stream<number>;
293
302
  viewportHeight: u.Stream<number>;
294
303
  headerHeight: u.StatefulStream<number>;
295
304
  footerHeight: u.StatefulStream<number>;
296
305
  scrollHeight: u.Stream<number>;
297
306
  smoothScrollTargetReached: u.Stream<true>;
307
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
298
308
  scrollTo: u.Stream<ScrollToOptions>;
299
309
  scrollBy: u.Stream<ScrollToOptions>;
300
310
  statefulScrollTop: u.StatefulStream<number>;
@@ -333,13 +343,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
333
343
  trackItemSizes: u.StatefulStream<boolean>;
334
344
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
335
345
  }>, u.SystemSpec<never[], () => {
336
- scrollContainerState: u.Stream<[number, number]>;
346
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
337
347
  scrollTop: u.Stream<number>;
338
348
  viewportHeight: u.Stream<number>;
339
349
  headerHeight: u.StatefulStream<number>;
340
350
  footerHeight: u.StatefulStream<number>;
341
351
  scrollHeight: u.Stream<number>;
342
352
  smoothScrollTargetReached: u.Stream<true>;
353
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
343
354
  scrollTo: u.Stream<ScrollToOptions>;
344
355
  scrollBy: u.Stream<ScrollToOptions>;
345
356
  statefulScrollTop: u.StatefulStream<number>;
@@ -366,13 +377,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
366
377
  trackItemSizes: u.StatefulStream<boolean>;
367
378
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
368
379
  }, {
369
- scrollContainerState: u.Stream<[number, number]>;
380
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
370
381
  scrollTop: u.Stream<number>;
371
382
  viewportHeight: u.Stream<number>;
372
383
  headerHeight: u.StatefulStream<number>;
373
384
  footerHeight: u.StatefulStream<number>;
374
385
  scrollHeight: u.Stream<number>;
375
386
  smoothScrollTargetReached: u.Stream<true>;
387
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
376
388
  scrollTo: u.Stream<ScrollToOptions>;
377
389
  scrollBy: u.Stream<ScrollToOptions>;
378
390
  statefulScrollTop: u.StatefulStream<number>;
@@ -385,26 +397,28 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
385
397
  scrollToIndex: u.Stream<number | import("./interfaces").IndexLocationWithAlign>;
386
398
  topListHeight: u.StatefulStream<number>;
387
399
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
388
- scrollContainerState: u.Stream<[number, number]>;
400
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
389
401
  scrollTop: u.Stream<number>;
390
402
  viewportHeight: u.Stream<number>;
391
403
  headerHeight: u.StatefulStream<number>;
392
404
  footerHeight: u.StatefulStream<number>;
393
405
  scrollHeight: u.Stream<number>;
394
406
  smoothScrollTargetReached: u.Stream<true>;
407
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
395
408
  scrollTo: u.Stream<ScrollToOptions>;
396
409
  scrollBy: u.Stream<ScrollToOptions>;
397
410
  statefulScrollTop: u.StatefulStream<number>;
398
411
  deviation: u.StatefulStream<number>;
399
412
  scrollingInProgress: u.StatefulStream<boolean>;
400
413
  }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy, },]: [{
401
- scrollContainerState: u.Stream<[number, number]>;
414
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
402
415
  scrollTop: u.Stream<number>;
403
416
  viewportHeight: u.Stream<number>;
404
417
  headerHeight: u.StatefulStream<number>;
405
418
  footerHeight: u.StatefulStream<number>;
406
419
  scrollHeight: u.Stream<number>;
407
420
  smoothScrollTargetReached: u.Stream<true>;
421
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
408
422
  scrollTo: u.Stream<ScrollToOptions>;
409
423
  scrollBy: u.Stream<ScrollToOptions>;
410
424
  statefulScrollTop: u.StatefulStream<number>;
@@ -495,13 +509,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
495
509
  rangeChanged: u.Stream<import("./interfaces").ListRange | undefined>;
496
510
  itemsRendered: u.Stream<import("./listStateSystem").ListItems>;
497
511
  }>], ([{ footerHeight, headerHeight }, { listState }]: [{
498
- scrollContainerState: u.Stream<[number, number]>;
512
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
499
513
  scrollTop: u.Stream<number>;
500
514
  viewportHeight: u.Stream<number>;
501
515
  headerHeight: u.StatefulStream<number>;
502
516
  footerHeight: u.StatefulStream<number>;
503
517
  scrollHeight: u.Stream<number>;
504
518
  smoothScrollTargetReached: u.Stream<true>;
519
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
505
520
  scrollTo: u.Stream<ScrollToOptions>;
506
521
  scrollBy: u.Stream<ScrollToOptions>;
507
522
  statefulScrollTop: u.StatefulStream<number>;
@@ -528,13 +543,14 @@ export declare const alignToBottomSystem: u.SystemSpec<[u.SystemSpec<never[], ()
528
543
  totalListHeight: u.StatefulStream<number>;
529
544
  totalListHeightChanged: u.Stream<number>;
530
545
  }>], ([{ viewportHeight }, { totalListHeight }]: [{
531
- scrollContainerState: u.Stream<[number, number]>;
546
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
532
547
  scrollTop: u.Stream<number>;
533
548
  viewportHeight: u.Stream<number>;
534
549
  headerHeight: u.StatefulStream<number>;
535
550
  footerHeight: u.StatefulStream<number>;
536
551
  scrollHeight: u.Stream<number>;
537
552
  smoothScrollTargetReached: u.Stream<true>;
553
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
538
554
  scrollTo: u.Stream<ScrollToOptions>;
539
555
  scrollBy: u.Stream<ScrollToOptions>;
540
556
  statefulScrollTop: u.StatefulStream<number>;
@@ -186,6 +186,10 @@ export interface VirtuosoProps<D, C> extends ListRootProps {
186
186
  * By default `4`. Redefine to change how much away from the bottom the scroller can be before the list is not considered not at bottom.
187
187
  */
188
188
  atBottomThreshold?: number;
189
+ /**
190
+ * Reduces an edge case blinking visible in React18 by enabling flushSync in certain changes.
191
+ */
192
+ react18ConcurrentRendering?: boolean;
189
193
  }
190
194
  export interface GroupedVirtuosoProps<D, C> extends Omit<VirtuosoProps<D, C>, 'totalCount' | 'itemContent'> {
191
195
  /**
@@ -369,6 +373,10 @@ export interface TableVirtuosoProps<D, C> extends Omit<VirtuosoProps<D, C>, 'com
369
373
  * By default `4`. Redefine to change how much away from the bottom the scroller can be before the list is not considered not at bottom.
370
374
  */
371
375
  atBottomThreshold?: number;
376
+ /**
377
+ * Reduces an edge case blinking visible in React18 by enabling flushSync in certain changes.
378
+ */
379
+ react18ConcurrentRendering?: boolean;
372
380
  }
373
381
  export interface VirtuosoGridProps<C extends unknown = unknown> extends GridRootProps {
374
382
  /**
@@ -1,12 +1,14 @@
1
1
  import * as u from '@virtuoso.dev/urx';
2
+ import { ScrollContainerState } from './interfaces';
2
3
  export declare const domIOSystem: u.SystemSpec<never[], () => {
3
- scrollContainerState: u.Stream<[number, number]>;
4
+ scrollContainerState: u.Stream<ScrollContainerState>;
4
5
  scrollTop: u.Stream<number>;
5
6
  viewportHeight: u.Stream<number>;
6
7
  headerHeight: u.StatefulStream<number>;
7
8
  footerHeight: u.StatefulStream<number>;
8
9
  scrollHeight: u.Stream<number>;
9
10
  smoothScrollTargetReached: u.Stream<true>;
11
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
10
12
  scrollTo: u.Stream<ScrollToOptions>;
11
13
  scrollBy: u.Stream<ScrollToOptions>;
12
14
  statefulScrollTop: u.StatefulStream<number>;
@@ -15,12 +15,13 @@ exports.domIOSystem = u.system(function () {
15
15
  var scrollTo = u.stream();
16
16
  var scrollBy = u.stream();
17
17
  var scrollingInProgress = u.statefulStream(false);
18
+ var react18ConcurrentRendering = u.statefulStream(false);
18
19
  u.connect(u.pipe(scrollContainerState, u.map(function (_a) {
19
- var _b = tslib_1.__read(_a, 1), scrollTop = _b[0];
20
+ var scrollTop = _a.scrollTop;
20
21
  return scrollTop;
21
22
  })), scrollTop);
22
23
  u.connect(u.pipe(scrollContainerState, u.map(function (_a) {
23
- var _b = tslib_1.__read(_a, 2), scrollHeight = _b[1];
24
+ var scrollHeight = _a.scrollHeight;
24
25
  return scrollHeight;
25
26
  })), scrollHeight);
26
27
  u.connect(scrollTop, statefulScrollTop);
@@ -33,6 +34,7 @@ exports.domIOSystem = u.system(function () {
33
34
  footerHeight: footerHeight,
34
35
  scrollHeight: scrollHeight,
35
36
  smoothScrollTargetReached: smoothScrollTargetReached,
37
+ react18ConcurrentRendering: react18ConcurrentRendering,
36
38
  // signals
37
39
  scrollTo: scrollTo,
38
40
  scrollBy: scrollBy,
@@ -25,26 +25,28 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
25
25
  trackItemSizes: u.StatefulStream<boolean>;
26
26
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
27
27
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
28
- scrollContainerState: u.Stream<[number, number]>;
28
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
29
29
  scrollTop: u.Stream<number>;
30
30
  viewportHeight: u.Stream<number>;
31
31
  headerHeight: u.StatefulStream<number>;
32
32
  footerHeight: u.StatefulStream<number>;
33
33
  scrollHeight: u.Stream<number>;
34
34
  smoothScrollTargetReached: u.Stream<true>;
35
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
35
36
  scrollTo: u.Stream<ScrollToOptions>;
36
37
  scrollBy: u.Stream<ScrollToOptions>;
37
38
  statefulScrollTop: u.StatefulStream<number>;
38
39
  deviation: u.StatefulStream<number>;
39
40
  scrollingInProgress: u.StatefulStream<boolean>;
40
41
  }>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy, },]: [{
41
- scrollContainerState: u.Stream<[number, number]>;
42
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
42
43
  scrollTop: u.Stream<number>;
43
44
  viewportHeight: u.Stream<number>;
44
45
  headerHeight: u.StatefulStream<number>;
45
46
  footerHeight: u.StatefulStream<number>;
46
47
  scrollHeight: u.Stream<number>;
47
48
  smoothScrollTargetReached: u.Stream<true>;
49
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
48
50
  scrollTo: u.Stream<ScrollToOptions>;
49
51
  scrollBy: u.Stream<ScrollToOptions>;
50
52
  statefulScrollTop: u.StatefulStream<number>;
@@ -85,13 +87,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
85
87
  trackItemSizes: u.StatefulStream<boolean>;
86
88
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
87
89
  }>, u.SystemSpec<never[], () => {
88
- scrollContainerState: u.Stream<[number, number]>;
90
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
89
91
  scrollTop: u.Stream<number>;
90
92
  viewportHeight: u.Stream<number>;
91
93
  headerHeight: u.StatefulStream<number>;
92
94
  footerHeight: u.StatefulStream<number>;
93
95
  scrollHeight: u.Stream<number>;
94
96
  smoothScrollTargetReached: u.Stream<true>;
97
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
95
98
  scrollTo: u.Stream<ScrollToOptions>;
96
99
  scrollBy: u.Stream<ScrollToOptions>;
97
100
  statefulScrollTop: u.StatefulStream<number>;
@@ -118,13 +121,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
118
121
  trackItemSizes: u.StatefulStream<boolean>;
119
122
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
120
123
  }, {
121
- scrollContainerState: u.Stream<[number, number]>;
124
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
122
125
  scrollTop: u.Stream<number>;
123
126
  viewportHeight: u.Stream<number>;
124
127
  headerHeight: u.StatefulStream<number>;
125
128
  footerHeight: u.StatefulStream<number>;
126
129
  scrollHeight: u.Stream<number>;
127
130
  smoothScrollTargetReached: u.Stream<true>;
131
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
128
132
  scrollTo: u.Stream<ScrollToOptions>;
129
133
  scrollBy: u.Stream<ScrollToOptions>;
130
134
  statefulScrollTop: u.StatefulStream<number>;
@@ -160,13 +164,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
160
164
  trackItemSizes: u.StatefulStream<boolean>;
161
165
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
162
166
  }>, u.SystemSpec<never[], () => {
163
- scrollContainerState: u.Stream<[number, number]>;
167
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
164
168
  scrollTop: u.Stream<number>;
165
169
  viewportHeight: u.Stream<number>;
166
170
  headerHeight: u.StatefulStream<number>;
167
171
  footerHeight: u.StatefulStream<number>;
168
172
  scrollHeight: u.Stream<number>;
169
173
  smoothScrollTargetReached: u.Stream<true>;
174
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
170
175
  scrollTo: u.Stream<ScrollToOptions>;
171
176
  scrollBy: u.Stream<ScrollToOptions>;
172
177
  statefulScrollTop: u.StatefulStream<number>;
@@ -196,13 +201,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
196
201
  trackItemSizes: u.StatefulStream<boolean>;
197
202
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
198
203
  }>, u.SystemSpec<never[], () => {
199
- scrollContainerState: u.Stream<[number, number]>;
204
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
200
205
  scrollTop: u.Stream<number>;
201
206
  viewportHeight: u.Stream<number>;
202
207
  headerHeight: u.StatefulStream<number>;
203
208
  footerHeight: u.StatefulStream<number>;
204
209
  scrollHeight: u.Stream<number>;
205
210
  smoothScrollTargetReached: u.Stream<true>;
211
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
206
212
  scrollTo: u.Stream<ScrollToOptions>;
207
213
  scrollBy: u.Stream<ScrollToOptions>;
208
214
  statefulScrollTop: u.StatefulStream<number>;
@@ -229,13 +235,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
229
235
  trackItemSizes: u.StatefulStream<boolean>;
230
236
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
231
237
  }, {
232
- scrollContainerState: u.Stream<[number, number]>;
238
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
233
239
  scrollTop: u.Stream<number>;
234
240
  viewportHeight: u.Stream<number>;
235
241
  headerHeight: u.StatefulStream<number>;
236
242
  footerHeight: u.StatefulStream<number>;
237
243
  scrollHeight: u.Stream<number>;
238
244
  smoothScrollTargetReached: u.Stream<true>;
245
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
239
246
  scrollTo: u.Stream<ScrollToOptions>;
240
247
  scrollBy: u.Stream<ScrollToOptions>;
241
248
  statefulScrollTop: u.StatefulStream<number>;
@@ -274,13 +281,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
274
281
  trackItemSizes: u.StatefulStream<boolean>;
275
282
  itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
276
283
  }, {
277
- scrollContainerState: u.Stream<[number, number]>;
284
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
278
285
  scrollTop: u.Stream<number>;
279
286
  viewportHeight: u.Stream<number>;
280
287
  headerHeight: u.StatefulStream<number>;
281
288
  footerHeight: u.StatefulStream<number>;
282
289
  scrollHeight: u.Stream<number>;
283
290
  smoothScrollTargetReached: u.Stream<true>;
291
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
284
292
  scrollTo: u.Stream<ScrollToOptions>;
285
293
  scrollBy: u.Stream<ScrollToOptions>;
286
294
  statefulScrollTop: u.StatefulStream<number>;
@@ -308,13 +316,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
308
316
  log: u.StatefulStream<import("./loggerSystem").Log>;
309
317
  logLevel: u.StatefulStream<LogLevel>;
310
318
  }>, u.SystemSpec<never[], () => {
311
- scrollContainerState: u.Stream<[number, number]>;
319
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
312
320
  scrollTop: u.Stream<number>;
313
321
  viewportHeight: u.Stream<number>;
314
322
  headerHeight: u.StatefulStream<number>;
315
323
  footerHeight: u.StatefulStream<number>;
316
324
  scrollHeight: u.Stream<number>;
317
325
  smoothScrollTargetReached: u.Stream<true>;
326
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
318
327
  scrollTo: u.Stream<ScrollToOptions>;
319
328
  scrollBy: u.Stream<ScrollToOptions>;
320
329
  statefulScrollTop: u.StatefulStream<number>;
@@ -361,13 +370,14 @@ export declare const followOutputSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpe
361
370
  log: u.StatefulStream<import("./loggerSystem").Log>;
362
371
  logLevel: u.StatefulStream<LogLevel>;
363
372
  }, {
364
- scrollContainerState: u.Stream<[number, number]>;
373
+ scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
365
374
  scrollTop: u.Stream<number>;
366
375
  viewportHeight: u.Stream<number>;
367
376
  headerHeight: u.StatefulStream<number>;
368
377
  footerHeight: u.StatefulStream<number>;
369
378
  scrollHeight: u.Stream<number>;
370
379
  smoothScrollTargetReached: u.Stream<true>;
380
+ react18ConcurrentRendering: u.StatefulStream<boolean>;
371
381
  scrollTo: u.Stream<ScrollToOptions>;
372
382
  scrollBy: u.Stream<ScrollToOptions>;
373
383
  statefulScrollTop: u.StatefulStream<number>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
4
5
  var u = tslib_1.__importStar(require("@virtuoso.dev/urx"));
5
6
  var domIOSystem_1 = require("./domIOSystem");
6
7
  var initialTopMostItemIndexSystem_1 = require("./initialTopMostItemIndexSystem");