@ringcentral/juno 2.40.0 → 2.41.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 (183) hide show
  1. package/components/Downshift/SuggestionList/SuggestionList.d.ts +3 -3
  2. package/components/Downshift/utils/useDownshift.d.ts +1 -1
  3. package/components/Tooltip/Tooltip.js +20 -2
  4. package/components/Virtuoso/index.d.ts +1 -1
  5. package/components/Virtuoso/index.js +1 -1
  6. package/components/Virtuoso/react-virtuoso/AATree.d.ts +1 -1
  7. package/components/Virtuoso/react-virtuoso/AATree.js +60 -48
  8. package/components/Virtuoso/react-virtuoso/TableVirtuoso.d.ts +5 -0
  9. package/components/Virtuoso/react-virtuoso/TableVirtuoso.js +217 -0
  10. package/components/Virtuoso/react-virtuoso/Virtuoso.d.ts +7696 -0
  11. package/components/Virtuoso/react-virtuoso/Virtuoso.js +317 -0
  12. package/components/Virtuoso/react-virtuoso/{Grid.d.ts → VirtuosoGrid.d.ts} +170 -72
  13. package/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +199 -0
  14. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +119 -65
  15. package/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
  16. package/components/Virtuoso/react-virtuoso/comparators.d.ts +1 -1
  17. package/components/Virtuoso/react-virtuoso/comparators.js +1 -3
  18. package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.d.ts +194 -0
  19. package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +2 -0
  20. package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.d.ts +274 -0
  21. package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +2 -0
  22. package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.d.ts +125 -0
  23. package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +2 -0
  24. package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -2
  25. package/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
  26. package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +80 -43
  27. package/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
  28. package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +57 -31
  29. package/components/Virtuoso/react-virtuoso/gridSystem.js +173 -86
  30. package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +76 -67
  31. package/components/Virtuoso/react-virtuoso/groupedListSystem.js +12 -12
  32. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +6 -3
  33. package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +36 -17
  34. package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  35. package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +3 -2
  36. package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.d.ts +2 -0
  37. package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +5 -0
  38. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -3
  39. package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +36 -51
  40. package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -3
  41. package/components/Virtuoso/react-virtuoso/hooks/useSize.js +13 -13
  42. package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +17 -15
  43. package/components/Virtuoso/react-virtuoso/index.d.ts +7 -1
  44. package/components/Virtuoso/react-virtuoso/index.js +8 -1
  45. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +304 -68
  46. package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +9 -31
  47. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +127 -109
  48. package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
  49. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +38 -22
  50. package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
  51. package/components/Virtuoso/react-virtuoso/interfaces.d.ts +150 -51
  52. package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +109 -59
  53. package/components/Virtuoso/react-virtuoso/listStateSystem.js +100 -52
  54. package/components/Virtuoso/react-virtuoso/listSystem.d.ts +1691 -693
  55. package/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
  56. package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +1 -1
  57. package/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
  58. package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +1 -1
  59. package/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
  60. package/components/Virtuoso/react-virtuoso/react-urx/index.d.ts +110 -0
  61. package/components/Virtuoso/react-virtuoso/react-urx/index.js +200 -0
  62. package/components/Virtuoso/react-virtuoso/react-urx/package.json +5 -0
  63. package/components/Virtuoso/react-virtuoso/recalcSystem.d.ts +4 -0
  64. package/components/Virtuoso/react-virtuoso/recalcSystem.js +8 -0
  65. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +144 -78
  66. package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +33 -21
  67. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +12 -7
  68. package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
  69. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +19 -11
  70. package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
  71. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +7 -6
  72. package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +15 -27
  73. package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +20 -11
  74. package/components/Virtuoso/react-virtuoso/sizeSystem.js +182 -52
  75. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +8 -5
  76. package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
  77. package/components/Virtuoso/react-virtuoso/stateLoadSystem.d.ts +318 -0
  78. package/components/Virtuoso/react-virtuoso/stateLoadSystem.js +41 -0
  79. package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +518 -467
  80. package/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
  81. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +115 -63
  82. package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
  83. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +139 -73
  84. package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +74 -31
  85. package/components/Virtuoso/react-virtuoso/urx/actions.d.ts +127 -0
  86. package/components/Virtuoso/react-virtuoso/urx/actions.js +98 -0
  87. package/components/Virtuoso/react-virtuoso/urx/constants.d.ts +8 -0
  88. package/components/Virtuoso/react-virtuoso/urx/constants.js +6 -0
  89. package/components/Virtuoso/react-virtuoso/urx/index.d.ts +6 -0
  90. package/components/Virtuoso/react-virtuoso/urx/index.js +9 -0
  91. package/components/Virtuoso/react-virtuoso/urx/package.json +5 -0
  92. package/components/Virtuoso/react-virtuoso/urx/pipe.d.ts +220 -0
  93. package/components/Virtuoso/react-virtuoso/urx/pipe.js +279 -0
  94. package/components/Virtuoso/react-virtuoso/urx/streams.d.ts +143 -0
  95. package/components/Virtuoso/react-virtuoso/urx/streams.js +227 -0
  96. package/components/Virtuoso/react-virtuoso/urx/system.d.ts +148 -0
  97. package/components/Virtuoso/react-virtuoso/urx/system.js +106 -0
  98. package/components/Virtuoso/react-virtuoso/urx/transformers.d.ts +71 -0
  99. package/components/Virtuoso/react-virtuoso/urx/transformers.js +106 -0
  100. package/components/Virtuoso/react-virtuoso/urx/utils.d.ts +57 -0
  101. package/components/Virtuoso/react-virtuoso/urx/utils.js +102 -0
  102. package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.d.ts +1 -0
  103. package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +6 -0
  104. package/components/Virtuoso/react-virtuoso/utils/context.d.ts +13 -0
  105. package/components/Virtuoso/react-virtuoso/utils/context.js +6 -0
  106. package/components/Virtuoso/react-virtuoso/utils/skipFrames.d.ts +1 -0
  107. package/components/Virtuoso/react-virtuoso/utils/skipFrames.js +11 -0
  108. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
  109. package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
  110. package/components/Virtuoso/utils/isOutOfRange.d.ts +1 -1
  111. package/components/Virtuoso/utils/useHighlightScroll.d.ts +2 -2
  112. package/es6/components/Tooltip/Tooltip.js +21 -3
  113. package/es6/components/Virtuoso/index.js +1 -1
  114. package/es6/components/Virtuoso/react-virtuoso/AATree.js +60 -48
  115. package/es6/components/Virtuoso/react-virtuoso/{Table.js → TableVirtuoso.js} +73 -52
  116. package/es6/components/Virtuoso/react-virtuoso/{List.js → Virtuoso.js} +85 -161
  117. package/es6/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +198 -0
  118. package/es6/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
  119. package/es6/components/Virtuoso/react-virtuoso/comparators.js +1 -3
  120. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +0 -0
  121. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +0 -0
  122. package/es6/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +0 -0
  123. package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
  124. package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
  125. package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +173 -87
  126. package/es6/components/Virtuoso/react-virtuoso/groupedListSystem.js +13 -13
  127. package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +35 -16
  128. package/es6/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +2 -2
  129. package/es6/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +2 -0
  130. package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +35 -50
  131. package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +11 -12
  132. package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +15 -14
  133. package/es6/components/Virtuoso/react-virtuoso/index.js +4 -1
  134. package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +11 -33
  135. package/es6/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
  136. package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
  137. package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +101 -54
  138. package/es6/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
  139. package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
  140. package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
  141. package/es6/components/Virtuoso/react-virtuoso/react-urx/index.js +197 -0
  142. package/es6/components/Virtuoso/react-virtuoso/recalcSystem.js +5 -0
  143. package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +34 -22
  144. package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
  145. package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
  146. package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +16 -28
  147. package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +180 -53
  148. package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
  149. package/es6/components/Virtuoso/react-virtuoso/stateLoadSystem.js +39 -0
  150. package/es6/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
  151. package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
  152. package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +75 -32
  153. package/es6/components/Virtuoso/react-virtuoso/urx/actions.js +90 -0
  154. package/es6/components/Virtuoso/react-virtuoso/urx/constants.js +4 -0
  155. package/es6/components/Virtuoso/react-virtuoso/urx/index.js +6 -0
  156. package/es6/components/Virtuoso/react-virtuoso/urx/pipe.js +266 -0
  157. package/es6/components/Virtuoso/react-virtuoso/urx/streams.js +220 -0
  158. package/es6/components/Virtuoso/react-virtuoso/urx/system.js +102 -0
  159. package/es6/components/Virtuoso/react-virtuoso/urx/transformers.js +101 -0
  160. package/es6/components/Virtuoso/react-virtuoso/urx/utils.js +88 -0
  161. package/es6/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +3 -0
  162. package/es6/components/Virtuoso/react-virtuoso/utils/context.js +3 -0
  163. package/es6/components/Virtuoso/react-virtuoso/utils/skipFrames.js +8 -0
  164. package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
  165. package/es6/foundation/hooks/useForkRef/useForkRef.js +2 -1
  166. package/foundation/hooks/useForkRef/useForkRef.d.ts +2 -1
  167. package/foundation/hooks/useForkRef/useForkRef.js +1 -0
  168. package/package.json +2 -2
  169. package/components/Virtuoso/Virtuoso.d.ts +0 -1
  170. package/components/Virtuoso/Virtuoso.js +0 -4
  171. package/components/Virtuoso/react-virtuoso/Grid.js +0 -168
  172. package/components/Virtuoso/react-virtuoso/List.d.ts +0 -6749
  173. package/components/Virtuoso/react-virtuoso/List.js +0 -393
  174. package/components/Virtuoso/react-virtuoso/Table.d.ts +0 -6515
  175. package/components/Virtuoso/react-virtuoso/Table.js +0 -196
  176. package/components/Virtuoso/react-virtuoso/components.d.ts +0 -505
  177. package/components/Virtuoso/react-virtuoso/components.js +0 -9
  178. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +0 -1
  179. package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -11
  180. package/es6/components/Virtuoso/Virtuoso.js +0 -1
  181. package/es6/components/Virtuoso/react-virtuoso/Grid.js +0 -166
  182. package/es6/components/Virtuoso/react-virtuoso/components.js +0 -7
  183. package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -8
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- var u = tslib_1.__importStar(require("@virtuoso.dev/urx"));
5
- var domIOSystem_1 = require("./domIOSystem");
4
+ var u = tslib_1.__importStar(require("./urx"));
6
5
  var propsReadySystem_1 = require("./propsReadySystem");
7
- var totalListHeightSystem_1 = require("./totalListHeightSystem");
6
+ var domIOSystem_1 = require("./domIOSystem");
7
+ var listStateSystem_1 = require("./listStateSystem");
8
8
  exports.initialScrollTopSystem = u.system(function (_a) {
9
- var _b = tslib_1.__read(_a, 3), totalListHeight = _b[0].totalListHeight, didMount = _b[1].didMount, scrollTo = _b[2].scrollTo;
9
+ var _b = tslib_1.__read(_a, 3), didMount = _b[0].didMount, scrollTo = _b[1].scrollTo, listState = _b[2].listState;
10
10
  var initialScrollTop = u.statefulStream(0);
11
11
  u.subscribe(u.pipe(didMount, u.withLatestFrom(initialScrollTop), u.filter(function (_a) {
12
12
  var _b = tslib_1.__read(_a, 2), offset = _b[1];
@@ -15,8 +15,8 @@ exports.initialScrollTopSystem = u.system(function (_a) {
15
15
  var _b = tslib_1.__read(_a, 2), offset = _b[1];
16
16
  return ({ top: offset });
17
17
  })), function (location) {
18
- u.handleNext(u.pipe(totalListHeight, u.filter(function (val) { return val !== 0; })), function () {
19
- setTimeout(function () {
18
+ u.handleNext(u.pipe(listState, u.skip(1), u.filter(function (state) { return state.items.length > 1; })), function () {
19
+ requestAnimationFrame(function () {
20
20
  u.publish(scrollTo, location);
21
21
  });
22
22
  });
@@ -24,4 +24,4 @@ exports.initialScrollTopSystem = u.system(function (_a) {
24
24
  return {
25
25
  initialScrollTop: initialScrollTop,
26
26
  };
27
- }, u.tup(totalListHeightSystem_1.totalListHeightSystem, propsReadySystem_1.propsReadySystem, domIOSystem_1.domIOSystem), { singleton: true });
27
+ }, u.tup(propsReadySystem_1.propsReadySystem, domIOSystem_1.domIOSystem, listStateSystem_1.listStateSystem), { singleton: true });
@@ -1,16 +1,20 @@
1
- import * as u from '@virtuoso.dev/urx';
2
- import { IndexLocation } from './scrollToIndexSystem';
3
- export declare function getInitialTopMostItemIndexNumber(location: IndexLocation, totalCount: number): number;
1
+ import * as u from './urx';
2
+ import { FlatIndexLocationWithAlign } from './interfaces';
3
+ export declare function getInitialTopMostItemIndexNumber(location: number | FlatIndexLocationWithAlign, totalCount: number): number;
4
4
  export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
5
5
  log: u.StatefulStream<import("./loggerSystem").Log>;
6
6
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
7
- }>], ([{ log }]: [{
7
+ }>, u.SystemSpec<never[], () => {
8
+ recalcInProgress: u.StatefulStream<boolean>;
9
+ }>], ([{ log }, { recalcInProgress }]: [{
8
10
  log: u.StatefulStream<import("./loggerSystem").Log>;
9
11
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
12
+ }, {
13
+ recalcInProgress: u.StatefulStream<boolean>;
10
14
  }]) => {
11
15
  data: u.StatefulStream<import("./sizeSystem").Data>;
12
16
  totalCount: u.Stream<number>;
13
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
17
+ sizeRanges: u.Stream<import("./interfaces").SizeRange[]>;
14
18
  groupIndices: u.StatefulStream<number[]>;
15
19
  defaultItemSize: u.StatefulStream<number | undefined>;
16
20
  fixedItemSize: u.StatefulStream<number | undefined>;
@@ -19,20 +23,22 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
19
23
  shiftWithOffset: u.Stream<number>;
20
24
  beforeUnshiftWith: u.Stream<number>;
21
25
  firstItemIndex: u.StatefulStream<number>;
26
+ gap: u.StatefulStream<number>;
22
27
  sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
23
28
  listRefresh: u.Stream<boolean>;
24
29
  statefulTotalCount: u.StatefulStream<number>;
25
30
  trackItemSizes: u.StatefulStream<boolean>;
26
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
31
+ itemSize: u.StatefulStream<import("./interfaces").SizeFunction>;
27
32
  }>, u.SystemSpec<never[], () => {
28
33
  scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
29
34
  scrollTop: u.Stream<number>;
30
35
  viewportHeight: u.Stream<number>;
31
36
  headerHeight: u.StatefulStream<number>;
37
+ fixedHeaderHeight: u.StatefulStream<number>;
38
+ fixedFooterHeight: u.StatefulStream<number>;
32
39
  footerHeight: u.StatefulStream<number>;
33
40
  scrollHeight: u.Stream<number>;
34
41
  smoothScrollTargetReached: u.Stream<true>;
35
- react18ConcurrentRendering: u.StatefulStream<boolean>;
36
42
  scrollTo: u.Stream<ScrollToOptions>;
37
43
  scrollBy: u.Stream<ScrollToOptions>;
38
44
  statefulScrollTop: u.StatefulStream<number>;
@@ -41,13 +47,17 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
41
47
  }>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
42
48
  log: u.StatefulStream<import("./loggerSystem").Log>;
43
49
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
44
- }>], ([{ log }]: [{
50
+ }>, u.SystemSpec<never[], () => {
51
+ recalcInProgress: u.StatefulStream<boolean>;
52
+ }>], ([{ log }, { recalcInProgress }]: [{
45
53
  log: u.StatefulStream<import("./loggerSystem").Log>;
46
54
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
55
+ }, {
56
+ recalcInProgress: u.StatefulStream<boolean>;
47
57
  }]) => {
48
58
  data: u.StatefulStream<import("./sizeSystem").Data>;
49
59
  totalCount: u.Stream<number>;
50
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
60
+ sizeRanges: u.Stream<import("./interfaces").SizeRange[]>;
51
61
  groupIndices: u.StatefulStream<number[]>;
52
62
  defaultItemSize: u.StatefulStream<number | undefined>;
53
63
  fixedItemSize: u.StatefulStream<number | undefined>;
@@ -56,20 +66,22 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
56
66
  shiftWithOffset: u.Stream<number>;
57
67
  beforeUnshiftWith: u.Stream<number>;
58
68
  firstItemIndex: u.StatefulStream<number>;
69
+ gap: u.StatefulStream<number>;
59
70
  sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
60
71
  listRefresh: u.Stream<boolean>;
61
72
  statefulTotalCount: u.StatefulStream<number>;
62
73
  trackItemSizes: u.StatefulStream<boolean>;
63
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
74
+ itemSize: u.StatefulStream<import("./interfaces").SizeFunction>;
64
75
  }>, u.SystemSpec<never[], () => {
65
76
  scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
66
77
  scrollTop: u.Stream<number>;
67
78
  viewportHeight: u.Stream<number>;
68
79
  headerHeight: u.StatefulStream<number>;
80
+ fixedHeaderHeight: u.StatefulStream<number>;
81
+ fixedFooterHeight: u.StatefulStream<number>;
69
82
  footerHeight: u.StatefulStream<number>;
70
83
  scrollHeight: u.Stream<number>;
71
84
  smoothScrollTargetReached: u.Stream<true>;
72
- react18ConcurrentRendering: u.StatefulStream<boolean>;
73
85
  scrollTo: u.Stream<ScrollToOptions>;
74
86
  scrollBy: u.Stream<ScrollToOptions>;
75
87
  statefulScrollTop: u.StatefulStream<number>;
@@ -78,10 +90,10 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
78
90
  }>, u.SystemSpec<never[], () => {
79
91
  log: u.StatefulStream<import("./loggerSystem").Log>;
80
92
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
81
- }>], ([{ sizes, totalCount, listRefresh }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight, }, { log },]: [{
93
+ }>], ([{ sizes, totalCount, listRefresh, gap }, { scrollingInProgress, viewportHeight, scrollTo, smoothScrollTargetReached, headerHeight, footerHeight, fixedHeaderHeight, fixedFooterHeight, }, { log },]: [{
82
94
  data: u.StatefulStream<import("./sizeSystem").Data>;
83
95
  totalCount: u.Stream<number>;
84
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
96
+ sizeRanges: u.Stream<import("./interfaces").SizeRange[]>;
85
97
  groupIndices: u.StatefulStream<number[]>;
86
98
  defaultItemSize: u.StatefulStream<number | undefined>;
87
99
  fixedItemSize: u.StatefulStream<number | undefined>;
@@ -90,20 +102,22 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
90
102
  shiftWithOffset: u.Stream<number>;
91
103
  beforeUnshiftWith: u.Stream<number>;
92
104
  firstItemIndex: u.StatefulStream<number>;
105
+ gap: u.StatefulStream<number>;
93
106
  sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
94
107
  listRefresh: u.Stream<boolean>;
95
108
  statefulTotalCount: u.StatefulStream<number>;
96
109
  trackItemSizes: u.StatefulStream<boolean>;
97
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
110
+ itemSize: u.StatefulStream<import("./interfaces").SizeFunction>;
98
111
  }, {
99
112
  scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
100
113
  scrollTop: u.Stream<number>;
101
114
  viewportHeight: u.Stream<number>;
102
115
  headerHeight: u.StatefulStream<number>;
116
+ fixedHeaderHeight: u.StatefulStream<number>;
117
+ fixedFooterHeight: u.StatefulStream<number>;
103
118
  footerHeight: u.StatefulStream<number>;
104
119
  scrollHeight: u.Stream<number>;
105
120
  smoothScrollTargetReached: u.Stream<true>;
106
- react18ConcurrentRendering: u.StatefulStream<boolean>;
107
121
  scrollTo: u.Stream<ScrollToOptions>;
108
122
  scrollBy: u.Stream<ScrollToOptions>;
109
123
  statefulScrollTop: u.StatefulStream<number>;
@@ -113,7 +127,7 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
113
127
  log: u.StatefulStream<import("./loggerSystem").Log>;
114
128
  logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
115
129
  }]) => {
116
- scrollToIndex: u.Stream<number | import("./interfaces").IndexLocationWithAlign>;
130
+ scrollToIndex: u.Stream<number | FlatIndexLocationWithAlign | import("./interfaces").GroupIndexLocationWithAlign>;
117
131
  topListHeight: u.StatefulStream<number>;
118
132
  }>, u.SystemSpec<[u.SystemSpec<never[], () => {
119
133
  log: u.StatefulStream<import("./loggerSystem").Log>;
@@ -124,10 +138,10 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
124
138
  }]) => {
125
139
  propsReady: u.StatefulStream<boolean>;
126
140
  didMount: u.Stream<boolean>;
127
- }>], ([{ sizes, listRefresh, defaultItemSize }, { scrollTop }, { scrollToIndex }, { didMount },]: [{
141
+ }>], ([{ sizes, listRefresh, defaultItemSize }, { scrollTop }, { scrollToIndex }, { didMount }]: [{
128
142
  data: u.StatefulStream<import("./sizeSystem").Data>;
129
143
  totalCount: u.Stream<number>;
130
- sizeRanges: u.Stream<import("./sizeSystem").SizeRange[]>;
144
+ sizeRanges: u.Stream<import("./interfaces").SizeRange[]>;
131
145
  groupIndices: u.StatefulStream<number[]>;
132
146
  defaultItemSize: u.StatefulStream<number | undefined>;
133
147
  fixedItemSize: u.StatefulStream<number | undefined>;
@@ -136,32 +150,34 @@ export declare const initialTopMostItemIndexSystem: u.SystemSpec<[u.SystemSpec<[
136
150
  shiftWithOffset: u.Stream<number>;
137
151
  beforeUnshiftWith: u.Stream<number>;
138
152
  firstItemIndex: u.StatefulStream<number>;
153
+ gap: u.StatefulStream<number>;
139
154
  sizes: u.StatefulStream<import("./sizeSystem").SizeState>;
140
155
  listRefresh: u.Stream<boolean>;
141
156
  statefulTotalCount: u.StatefulStream<number>;
142
157
  trackItemSizes: u.StatefulStream<boolean>;
143
- itemSize: u.StatefulStream<import("./sizeSystem").SizeFunction>;
158
+ itemSize: u.StatefulStream<import("./interfaces").SizeFunction>;
144
159
  }, {
145
160
  scrollContainerState: u.Stream<import("./interfaces").ScrollContainerState>;
146
161
  scrollTop: u.Stream<number>;
147
162
  viewportHeight: u.Stream<number>;
148
163
  headerHeight: u.StatefulStream<number>;
164
+ fixedHeaderHeight: u.StatefulStream<number>;
165
+ fixedFooterHeight: u.StatefulStream<number>;
149
166
  footerHeight: u.StatefulStream<number>;
150
167
  scrollHeight: u.Stream<number>;
151
168
  smoothScrollTargetReached: u.Stream<true>;
152
- react18ConcurrentRendering: u.StatefulStream<boolean>;
153
169
  scrollTo: u.Stream<ScrollToOptions>;
154
170
  scrollBy: u.Stream<ScrollToOptions>;
155
171
  statefulScrollTop: u.StatefulStream<number>;
156
172
  deviation: u.StatefulStream<number>;
157
173
  scrollingInProgress: u.StatefulStream<boolean>;
158
174
  }, {
159
- scrollToIndex: u.Stream<number | import("./interfaces").IndexLocationWithAlign>;
175
+ scrollToIndex: u.Stream<number | FlatIndexLocationWithAlign | import("./interfaces").GroupIndexLocationWithAlign>;
160
176
  topListHeight: u.StatefulStream<number>;
161
177
  }, {
162
178
  propsReady: u.StatefulStream<boolean>;
163
179
  didMount: u.Stream<boolean>;
164
180
  }]) => {
165
181
  scrolledToInitialItem: u.StatefulStream<boolean>;
166
- initialTopMostItemIndex: u.StatefulStream<number | import("./interfaces").IndexLocationWithAlign>;
182
+ initialTopMostItemIndex: u.StatefulStream<number | FlatIndexLocationWithAlign>;
167
183
  }>;
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- var u = tslib_1.__importStar(require("@virtuoso.dev/urx"));
4
+ var u = tslib_1.__importStar(require("./urx"));
5
5
  var AATree_1 = require("./AATree");
6
+ var sizeSystem_1 = require("./sizeSystem");
6
7
  var domIOSystem_1 = require("./domIOSystem");
7
- var propsReadySystem_1 = require("./propsReadySystem");
8
8
  var scrollToIndexSystem_1 = require("./scrollToIndexSystem");
9
- var sizeSystem_1 = require("./sizeSystem");
9
+ var propsReadySystem_1 = require("./propsReadySystem");
10
+ var skipFrames_1 = require("./utils/skipFrames");
10
11
  function getInitialTopMostItemIndexNumber(location, totalCount) {
11
12
  var lastIndex = totalCount - 1;
12
- var index = typeof location === 'number'
13
- ? location
14
- : location.index === 'LAST'
15
- ? lastIndex
16
- : location.index;
13
+ var index = typeof location === 'number' ? location : location.index === 'LAST' ? lastIndex : location.index;
17
14
  return index;
18
15
  }
19
16
  exports.getInitialTopMostItemIndexNumber = getInitialTopMostItemIndexNumber;
@@ -21,23 +18,19 @@ exports.initialTopMostItemIndexSystem = u.system(function (_a) {
21
18
  var _b = tslib_1.__read(_a, 4), _c = _b[0], sizes = _c.sizes, listRefresh = _c.listRefresh, defaultItemSize = _c.defaultItemSize, scrollTop = _b[1].scrollTop, scrollToIndex = _b[2].scrollToIndex, didMount = _b[3].didMount;
22
19
  var scrolledToInitialItem = u.statefulStream(true);
23
20
  var initialTopMostItemIndex = u.statefulStream(0);
24
- u.connect(u.pipe(didMount, u.withLatestFrom(initialTopMostItemIndex),
25
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- u.filter(function (_a) {
21
+ var scrollScheduled = u.statefulStream(false);
22
+ u.connect(u.pipe(didMount, u.withLatestFrom(initialTopMostItemIndex), u.filter(function (_a) {
27
23
  var _b = tslib_1.__read(_a, 2), _ = _b[0], location = _b[1];
28
24
  return !!location;
29
25
  }), u.mapTo(false)), scrolledToInitialItem);
30
- u.subscribe(u.pipe(u.combineLatest(listRefresh, didMount), u.withLatestFrom(scrolledToInitialItem, sizes, defaultItemSize), u.filter(function (_a) {
31
- var _b = tslib_1.__read(_a, 4), _c = tslib_1.__read(_b[0], 2), didMount = _c[1], scrolledToInitialItem = _b[1], sizeTree = _b[2].sizeTree, defaultItemSize = _b[3];
32
- return (didMount &&
33
- (!AATree_1.empty(sizeTree) || defaultItemSize !== undefined) &&
34
- !scrolledToInitialItem);
26
+ u.subscribe(u.pipe(u.combineLatest(listRefresh, didMount), u.withLatestFrom(scrolledToInitialItem, sizes, defaultItemSize, scrollScheduled), u.filter(function (_a) {
27
+ var _b = tslib_1.__read(_a, 5), _c = tslib_1.__read(_b[0], 2), didMount = _c[1], scrolledToInitialItem = _b[1], sizeTree = _b[2].sizeTree, defaultItemSize = _b[3], scrollScheduled = _b[4];
28
+ return didMount && (!AATree_1.empty(sizeTree) || u.isDefined(defaultItemSize)) && !scrolledToInitialItem && !scrollScheduled;
35
29
  }), u.withLatestFrom(initialTopMostItemIndex)), function (_a) {
36
30
  var _b = tslib_1.__read(_a, 2), initialTopMostItemIndex = _b[1];
37
- setTimeout(function () {
38
- u.handleNext(scrollTop, function () {
39
- u.publish(scrolledToInitialItem, true);
40
- });
31
+ u.publish(scrollScheduled, true);
32
+ skipFrames_1.skipFrames(3, function () {
33
+ u.handleNext(scrollTop, function () { return u.publish(scrolledToInitialItem, true); });
41
34
  u.publish(scrollToIndex, initialTopMostItemIndex);
42
35
  });
43
36
  });