@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.
- package/components/Downshift/SuggestionList/SuggestionList.d.ts +3 -3
- package/components/Downshift/utils/useDownshift.d.ts +1 -1
- package/components/Tooltip/Tooltip.js +20 -2
- package/components/Virtuoso/index.d.ts +1 -1
- package/components/Virtuoso/index.js +1 -1
- package/components/Virtuoso/react-virtuoso/AATree.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/AATree.js +60 -48
- package/components/Virtuoso/react-virtuoso/TableVirtuoso.d.ts +5 -0
- package/components/Virtuoso/react-virtuoso/TableVirtuoso.js +217 -0
- package/components/Virtuoso/react-virtuoso/Virtuoso.d.ts +7696 -0
- package/components/Virtuoso/react-virtuoso/Virtuoso.js +317 -0
- package/components/Virtuoso/react-virtuoso/{Grid.d.ts → VirtuosoGrid.d.ts} +170 -72
- package/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +199 -0
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +119 -65
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
- package/components/Virtuoso/react-virtuoso/comparators.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/comparators.js +1 -3
- package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.d.ts +194 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +2 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.d.ts +274 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +2 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.d.ts +125 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +2 -0
- package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -2
- package/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
- package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +80 -43
- package/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
- package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +57 -31
- package/components/Virtuoso/react-virtuoso/gridSystem.js +173 -86
- package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +76 -67
- package/components/Virtuoso/react-virtuoso/groupedListSystem.js +12 -12
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +6 -3
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +36 -17
- package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +3 -2
- package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.d.ts +2 -0
- package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +5 -0
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -3
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +36 -51
- package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -3
- package/components/Virtuoso/react-virtuoso/hooks/useSize.js +13 -13
- package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +17 -15
- package/components/Virtuoso/react-virtuoso/index.d.ts +7 -1
- package/components/Virtuoso/react-virtuoso/index.js +8 -1
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +304 -68
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +9 -31
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +127 -109
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +38 -22
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
- package/components/Virtuoso/react-virtuoso/interfaces.d.ts +150 -51
- package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +109 -59
- package/components/Virtuoso/react-virtuoso/listStateSystem.js +100 -52
- package/components/Virtuoso/react-virtuoso/listSystem.d.ts +1691 -693
- package/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
- package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
- package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
- package/components/Virtuoso/react-virtuoso/react-urx/index.d.ts +110 -0
- package/components/Virtuoso/react-virtuoso/react-urx/index.js +200 -0
- package/components/Virtuoso/react-virtuoso/react-urx/package.json +5 -0
- package/components/Virtuoso/react-virtuoso/recalcSystem.d.ts +4 -0
- package/components/Virtuoso/react-virtuoso/recalcSystem.js +8 -0
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +144 -78
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +33 -21
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +12 -7
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +19 -11
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +7 -6
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +15 -27
- package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +20 -11
- package/components/Virtuoso/react-virtuoso/sizeSystem.js +182 -52
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +8 -5
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
- package/components/Virtuoso/react-virtuoso/stateLoadSystem.d.ts +318 -0
- package/components/Virtuoso/react-virtuoso/stateLoadSystem.js +41 -0
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +518 -467
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +115 -63
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +139 -73
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +74 -31
- package/components/Virtuoso/react-virtuoso/urx/actions.d.ts +127 -0
- package/components/Virtuoso/react-virtuoso/urx/actions.js +98 -0
- package/components/Virtuoso/react-virtuoso/urx/constants.d.ts +8 -0
- package/components/Virtuoso/react-virtuoso/urx/constants.js +6 -0
- package/components/Virtuoso/react-virtuoso/urx/index.d.ts +6 -0
- package/components/Virtuoso/react-virtuoso/urx/index.js +9 -0
- package/components/Virtuoso/react-virtuoso/urx/package.json +5 -0
- package/components/Virtuoso/react-virtuoso/urx/pipe.d.ts +220 -0
- package/components/Virtuoso/react-virtuoso/urx/pipe.js +279 -0
- package/components/Virtuoso/react-virtuoso/urx/streams.d.ts +143 -0
- package/components/Virtuoso/react-virtuoso/urx/streams.js +227 -0
- package/components/Virtuoso/react-virtuoso/urx/system.d.ts +148 -0
- package/components/Virtuoso/react-virtuoso/urx/system.js +106 -0
- package/components/Virtuoso/react-virtuoso/urx/transformers.d.ts +71 -0
- package/components/Virtuoso/react-virtuoso/urx/transformers.js +106 -0
- package/components/Virtuoso/react-virtuoso/urx/utils.d.ts +57 -0
- package/components/Virtuoso/react-virtuoso/urx/utils.js +102 -0
- package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +6 -0
- package/components/Virtuoso/react-virtuoso/utils/context.d.ts +13 -0
- package/components/Virtuoso/react-virtuoso/utils/context.js +6 -0
- package/components/Virtuoso/react-virtuoso/utils/skipFrames.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/skipFrames.js +11 -0
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
- package/components/Virtuoso/utils/isOutOfRange.d.ts +1 -1
- package/components/Virtuoso/utils/useHighlightScroll.d.ts +2 -2
- package/es6/components/Tooltip/Tooltip.js +21 -3
- package/es6/components/Virtuoso/index.js +1 -1
- package/es6/components/Virtuoso/react-virtuoso/AATree.js +60 -48
- package/es6/components/Virtuoso/react-virtuoso/{Table.js → TableVirtuoso.js} +73 -52
- package/es6/components/Virtuoso/react-virtuoso/{List.js → Virtuoso.js} +85 -161
- package/es6/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +198 -0
- package/es6/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
- package/es6/components/Virtuoso/react-virtuoso/comparators.js +1 -3
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
- package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
- package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +173 -87
- package/es6/components/Virtuoso/react-virtuoso/groupedListSystem.js +13 -13
- package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +35 -16
- package/es6/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +2 -2
- package/es6/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +2 -0
- package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +35 -50
- package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +11 -12
- package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +15 -14
- package/es6/components/Virtuoso/react-virtuoso/index.js +4 -1
- package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +11 -33
- package/es6/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
- package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
- package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +101 -54
- package/es6/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
- package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
- package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
- package/es6/components/Virtuoso/react-virtuoso/react-urx/index.js +197 -0
- package/es6/components/Virtuoso/react-virtuoso/recalcSystem.js +5 -0
- package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +34 -22
- package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
- package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
- package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +16 -28
- package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +180 -53
- package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
- package/es6/components/Virtuoso/react-virtuoso/stateLoadSystem.js +39 -0
- package/es6/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
- package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
- package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +75 -32
- package/es6/components/Virtuoso/react-virtuoso/urx/actions.js +90 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/constants.js +4 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/index.js +6 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/pipe.js +266 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/streams.js +220 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/system.js +102 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/transformers.js +101 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/utils.js +88 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/context.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/skipFrames.js +8 -0
- package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
- package/es6/foundation/hooks/useForkRef/useForkRef.js +2 -1
- package/foundation/hooks/useForkRef/useForkRef.d.ts +2 -1
- package/foundation/hooks/useForkRef/useForkRef.js +1 -0
- package/package.json +2 -2
- package/components/Virtuoso/Virtuoso.d.ts +0 -1
- package/components/Virtuoso/Virtuoso.js +0 -4
- package/components/Virtuoso/react-virtuoso/Grid.js +0 -168
- package/components/Virtuoso/react-virtuoso/List.d.ts +0 -6749
- package/components/Virtuoso/react-virtuoso/List.js +0 -393
- package/components/Virtuoso/react-virtuoso/Table.d.ts +0 -6515
- package/components/Virtuoso/react-virtuoso/Table.js +0 -196
- package/components/Virtuoso/react-virtuoso/components.d.ts +0 -505
- package/components/Virtuoso/react-virtuoso/components.js +0 -9
- package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +0 -1
- package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -11
- package/es6/components/Virtuoso/Virtuoso.js +0 -1
- package/es6/components/Virtuoso/react-virtuoso/Grid.js +0 -166
- package/es6/components/Virtuoso/react-virtuoso/components.js +0 -7
- package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -8
|
@@ -1,9 +1,8 @@
|
|
|
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("
|
|
4
|
+
var u = tslib_1.__importStar(require("./urx"));
|
|
5
5
|
var AATree_1 = require("./AATree");
|
|
6
|
-
var comparators_1 = require("./comparators");
|
|
7
6
|
var groupedListSystem_1 = require("./groupedListSystem");
|
|
8
7
|
var initialTopMostItemIndexSystem_1 = require("./initialTopMostItemIndexSystem");
|
|
9
8
|
var propsReadySystem_1 = require("./propsReadySystem");
|
|
@@ -11,6 +10,8 @@ var scrollToIndexSystem_1 = require("./scrollToIndexSystem");
|
|
|
11
10
|
var sizeRangeSystem_1 = require("./sizeRangeSystem");
|
|
12
11
|
var sizeSystem_1 = require("./sizeSystem");
|
|
13
12
|
var stateFlagsSystem_1 = require("./stateFlagsSystem");
|
|
13
|
+
var comparators_1 = require("./comparators");
|
|
14
|
+
var recalcSystem_1 = require("./recalcSystem");
|
|
14
15
|
function probeItemSet(index, sizes, data) {
|
|
15
16
|
if (sizeSystem_1.hasGroups(sizes)) {
|
|
16
17
|
var itemIndex = sizeSystem_1.originalIndexFromItemIndex(index, sizes);
|
|
@@ -31,6 +32,7 @@ var EMPTY_LIST_STATE = {
|
|
|
31
32
|
bottom: 0,
|
|
32
33
|
topListHeight: 0,
|
|
33
34
|
totalCount: 0,
|
|
35
|
+
firstItemIndex: 0,
|
|
34
36
|
};
|
|
35
37
|
function transposeItems(items, sizes, firstItemIndex) {
|
|
36
38
|
var e_1, _a;
|
|
@@ -44,7 +46,7 @@ function transposeItems(items, sizes, firstItemIndex) {
|
|
|
44
46
|
var endIndex = items[items.length - 1].index;
|
|
45
47
|
var transposedItems = [];
|
|
46
48
|
var groupRanges = AATree_1.rangesWithin(sizes.groupOffsetTree, startIndex, endIndex);
|
|
47
|
-
var currentRange;
|
|
49
|
+
var currentRange = undefined;
|
|
48
50
|
var currentGroupIndex = 0;
|
|
49
51
|
try {
|
|
50
52
|
for (var items_1 = tslib_1.__values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
|
|
@@ -78,7 +80,7 @@ function transposeItems(items, sizes, firstItemIndex) {
|
|
|
78
80
|
}
|
|
79
81
|
return transposedItems;
|
|
80
82
|
}
|
|
81
|
-
function buildListState(items, topItems, totalCount, sizes, firstItemIndex) {
|
|
83
|
+
function buildListState(items, topItems, totalCount, gap, sizes, firstItemIndex) {
|
|
82
84
|
var lastSize = sizes.lastSize, lastOffset = sizes.lastOffset, lastIndex = sizes.lastIndex;
|
|
83
85
|
var offsetTop = 0;
|
|
84
86
|
var bottom = 0;
|
|
@@ -87,7 +89,8 @@ function buildListState(items, topItems, totalCount, sizes, firstItemIndex) {
|
|
|
87
89
|
var lastItem = items[items.length - 1];
|
|
88
90
|
bottom = lastItem.offset + lastItem.size;
|
|
89
91
|
}
|
|
90
|
-
var
|
|
92
|
+
var itemCount = totalCount - lastIndex;
|
|
93
|
+
var total = lastOffset + itemCount * lastSize + (itemCount - 1) * gap;
|
|
91
94
|
var top = offsetTop;
|
|
92
95
|
var offsetBottom = total - bottom;
|
|
93
96
|
return {
|
|
@@ -99,27 +102,78 @@ function buildListState(items, topItems, totalCount, sizes, firstItemIndex) {
|
|
|
99
102
|
top: top,
|
|
100
103
|
bottom: bottom,
|
|
101
104
|
totalCount: totalCount,
|
|
105
|
+
firstItemIndex: firstItemIndex,
|
|
102
106
|
};
|
|
103
107
|
}
|
|
104
108
|
exports.buildListState = buildListState;
|
|
109
|
+
function buildListStateFromItemCount(itemCount, initialTopMostItemIndex, sizes, firstItemIndex, gap, data) {
|
|
110
|
+
var e_2, _a;
|
|
111
|
+
var includedGroupsCount = 0;
|
|
112
|
+
if (sizes.groupIndices.length > 0) {
|
|
113
|
+
try {
|
|
114
|
+
for (var _b = tslib_1.__values(sizes.groupIndices), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
115
|
+
var index = _c.value;
|
|
116
|
+
if (index - includedGroupsCount >= itemCount) {
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
includedGroupsCount++;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
123
|
+
finally {
|
|
124
|
+
try {
|
|
125
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
126
|
+
}
|
|
127
|
+
finally { if (e_2) throw e_2.error; }
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
var adjustedCount = itemCount + includedGroupsCount;
|
|
131
|
+
var initialTopMostItemIndexNumber = initialTopMostItemIndexSystem_1.getInitialTopMostItemIndexNumber(initialTopMostItemIndex, adjustedCount);
|
|
132
|
+
var items = Array.from({ length: adjustedCount }).map(function (_, index) { return ({
|
|
133
|
+
index: index + initialTopMostItemIndexNumber,
|
|
134
|
+
size: 0,
|
|
135
|
+
offset: 0,
|
|
136
|
+
data: data[index + initialTopMostItemIndexNumber],
|
|
137
|
+
}); });
|
|
138
|
+
return buildListState(items, [], adjustedCount, gap, sizes, firstItemIndex);
|
|
139
|
+
}
|
|
140
|
+
exports.buildListStateFromItemCount = buildListStateFromItemCount;
|
|
105
141
|
exports.listStateSystem = u.system(function (_a) {
|
|
106
|
-
var _b = tslib_1.__read(_a,
|
|
142
|
+
var _b = tslib_1.__read(_a, 8), _c = _b[0], sizes = _c.sizes, totalCount = _c.totalCount, data = _c.data, firstItemIndex = _c.firstItemIndex, gap = _c.gap, groupedListSystem = _b[1], _d = _b[2], visibleRange = _d.visibleRange, listBoundary = _d.listBoundary, rangeTopListHeight = _d.topListHeight, _e = _b[3], scrolledToInitialItem = _e.scrolledToInitialItem, initialTopMostItemIndex = _e.initialTopMostItemIndex, topListHeight = _b[4].topListHeight, stateFlags = _b[5], didMount = _b[6].didMount, recalcInProgress = _b[7].recalcInProgress;
|
|
107
143
|
var topItemsIndexes = u.statefulStream([]);
|
|
144
|
+
var initialItemCount = u.statefulStream(0);
|
|
108
145
|
var itemsRendered = u.stream();
|
|
109
146
|
u.connect(groupedListSystem.topItemsIndexes, topItemsIndexes);
|
|
110
|
-
var listState = u.statefulStreamFromEmitter(u.pipe(u.combineLatest(didMount, u.duc(visibleRange), u.duc(totalCount), u.duc(sizes), u.duc(initialTopMostItemIndex), scrolledToInitialItem, u.duc(topItemsIndexes), u.duc(firstItemIndex), data), u.filter(function (_a) {
|
|
111
|
-
var _b = tslib_1.__read(_a,
|
|
112
|
-
|
|
147
|
+
var listState = u.statefulStreamFromEmitter(u.pipe(u.combineLatest(didMount, recalcInProgress, u.duc(visibleRange, comparators_1.tupleComparator), u.duc(totalCount), u.duc(sizes), u.duc(initialTopMostItemIndex), scrolledToInitialItem, u.duc(topItemsIndexes), u.duc(firstItemIndex), u.duc(gap), data), u.filter(function (_a) {
|
|
148
|
+
var _b = tslib_1.__read(_a, 11), mount = _b[0], recalcInProgress = _b[1], totalCount = _b[3], data = _b[10];
|
|
149
|
+
// When data length changes, it is synced to totalCount, both of which trigger a recalc separately.
|
|
150
|
+
// Recalc should be skipped then, as the calculation expects both data and totalCount to be in sync.
|
|
151
|
+
var dataChangeInProgress = data && data.length !== totalCount;
|
|
152
|
+
return mount && !recalcInProgress && !dataChangeInProgress;
|
|
113
153
|
}), u.map(function (_a) {
|
|
114
|
-
var
|
|
115
|
-
var _c = tslib_1.__read(_a,
|
|
154
|
+
var e_3, _b;
|
|
155
|
+
var _c = tslib_1.__read(_a, 11), _d = tslib_1.__read(_c[2], 2), startOffset = _d[0], endOffset = _d[1], totalCount = _c[3], sizes = _c[4], initialTopMostItemIndex = _c[5], scrolledToInitialItem = _c[6], topItemsIndexes = _c[7], firstItemIndex = _c[8], gap = _c[9], data = _c[10];
|
|
116
156
|
var sizesValue = sizes;
|
|
117
157
|
var sizeTree = sizesValue.sizeTree, offsetTree = sizesValue.offsetTree;
|
|
118
|
-
|
|
119
|
-
|
|
158
|
+
var initialItemCountValue = u.getValue(initialItemCount);
|
|
159
|
+
if (totalCount === 0) {
|
|
160
|
+
return tslib_1.__assign(tslib_1.__assign({}, EMPTY_LIST_STATE), { totalCount: totalCount });
|
|
161
|
+
}
|
|
162
|
+
// no container measruements yet
|
|
163
|
+
if (startOffset === 0 && endOffset === 0) {
|
|
164
|
+
if (initialItemCountValue === 0) {
|
|
165
|
+
return tslib_1.__assign(tslib_1.__assign({}, EMPTY_LIST_STATE), { totalCount: totalCount });
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return buildListStateFromItemCount(initialItemCountValue, initialTopMostItemIndex, sizes, firstItemIndex, gap, data || []);
|
|
169
|
+
}
|
|
120
170
|
}
|
|
121
171
|
if (AATree_1.empty(sizeTree)) {
|
|
122
|
-
|
|
172
|
+
if (initialItemCountValue > 0) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
var state = buildListState(probeItemSet(initialTopMostItemIndexSystem_1.getInitialTopMostItemIndexNumber(initialTopMostItemIndex, totalCount), sizesValue, data), [], totalCount, gap, sizesValue, firstItemIndex);
|
|
176
|
+
return state;
|
|
123
177
|
}
|
|
124
178
|
var topItems = [];
|
|
125
179
|
if (topItemsIndexes.length > 0) {
|
|
@@ -133,42 +187,35 @@ exports.listStateSystem = u.system(function (_a) {
|
|
|
133
187
|
var rangeStartIndex = Math.max(range.start, startIndex);
|
|
134
188
|
var rangeEndIndex = Math.min(range.end, endIndex);
|
|
135
189
|
for (var i = rangeStartIndex; i <= rangeEndIndex; i++) {
|
|
136
|
-
topItems.push({
|
|
137
|
-
index: i,
|
|
138
|
-
size: size,
|
|
139
|
-
offset: offset,
|
|
140
|
-
data: data && data[i],
|
|
141
|
-
});
|
|
190
|
+
topItems.push({ index: i, size: size, offset: offset, data: data && data[i] });
|
|
142
191
|
offset += size;
|
|
143
192
|
}
|
|
144
193
|
}
|
|
145
194
|
}
|
|
146
|
-
catch (
|
|
195
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
147
196
|
finally {
|
|
148
197
|
try {
|
|
149
198
|
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
150
199
|
}
|
|
151
|
-
finally { if (
|
|
200
|
+
finally { if (e_3) throw e_3.error; }
|
|
152
201
|
}
|
|
153
202
|
}
|
|
154
203
|
// If the list hasn't scrolled to the initial item because the initial item was set,
|
|
155
204
|
// render empty list.
|
|
156
205
|
//
|
|
157
|
-
// This is a condition to be evaluated
|
|
206
|
+
// This is a condition to be evaluated after the probe check cycle, do not merge
|
|
158
207
|
// with the totalCount check above
|
|
159
208
|
if (!scrolledToInitialItem) {
|
|
160
|
-
return buildListState([], topItems, totalCount, sizesValue, firstItemIndex);
|
|
209
|
+
return buildListState([], topItems, totalCount, gap, sizesValue, firstItemIndex);
|
|
161
210
|
}
|
|
162
|
-
var minStartIndex = topItemsIndexes.length > 0
|
|
163
|
-
? topItemsIndexes[topItemsIndexes.length - 1] + 1
|
|
164
|
-
: 0;
|
|
211
|
+
var minStartIndex = topItemsIndexes.length > 0 ? topItemsIndexes[topItemsIndexes.length - 1] + 1 : 0;
|
|
165
212
|
var offsetPointRanges = sizeSystem_1.rangesWithinOffsets(offsetTree, startOffset, endOffset, minStartIndex);
|
|
166
213
|
if (offsetPointRanges.length === 0) {
|
|
167
214
|
return null;
|
|
168
215
|
}
|
|
169
216
|
var maxIndex = totalCount - 1;
|
|
170
217
|
var items = u.tap([], function (result) {
|
|
171
|
-
var
|
|
218
|
+
var e_4, _a;
|
|
172
219
|
try {
|
|
173
220
|
for (var offsetPointRanges_1 = tslib_1.__values(offsetPointRanges), offsetPointRanges_1_1 = offsetPointRanges_1.next(); !offsetPointRanges_1_1.done; offsetPointRanges_1_1 = offsetPointRanges_1.next()) {
|
|
174
221
|
var range = offsetPointRanges_1_1.value;
|
|
@@ -177,8 +224,9 @@ exports.listStateSystem = u.system(function (_a) {
|
|
|
177
224
|
var rangeStartIndex = range.start;
|
|
178
225
|
var size = point.size;
|
|
179
226
|
if (point.offset < startOffset) {
|
|
180
|
-
rangeStartIndex += Math.floor((startOffset - point.offset) / size);
|
|
181
|
-
|
|
227
|
+
rangeStartIndex += Math.floor((startOffset - point.offset + gap) / (size + gap));
|
|
228
|
+
var itemCount = rangeStartIndex - range.start;
|
|
229
|
+
offset += itemCount * size + itemCount * gap;
|
|
182
230
|
}
|
|
183
231
|
if (rangeStartIndex < minStartIndex) {
|
|
184
232
|
offset += (minStartIndex - rangeStartIndex) * size;
|
|
@@ -189,28 +237,25 @@ exports.listStateSystem = u.system(function (_a) {
|
|
|
189
237
|
if (offset >= endOffset) {
|
|
190
238
|
break;
|
|
191
239
|
}
|
|
192
|
-
result.push({
|
|
193
|
-
|
|
194
|
-
size: size,
|
|
195
|
-
offset: offset,
|
|
196
|
-
data: data && data[i],
|
|
197
|
-
});
|
|
198
|
-
offset += size;
|
|
240
|
+
result.push({ index: i, size: size, offset: offset, data: data && data[i] });
|
|
241
|
+
offset += size + gap;
|
|
199
242
|
}
|
|
200
243
|
}
|
|
201
244
|
}
|
|
202
|
-
catch (
|
|
245
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
203
246
|
finally {
|
|
204
247
|
try {
|
|
205
248
|
if (offsetPointRanges_1_1 && !offsetPointRanges_1_1.done && (_a = offsetPointRanges_1.return)) _a.call(offsetPointRanges_1);
|
|
206
249
|
}
|
|
207
|
-
finally { if (
|
|
250
|
+
finally { if (e_4) throw e_4.error; }
|
|
208
251
|
}
|
|
209
252
|
});
|
|
210
|
-
return buildListState(items, topItems, totalCount, sizesValue, firstItemIndex);
|
|
211
|
-
}),
|
|
212
|
-
|
|
213
|
-
u.
|
|
253
|
+
return buildListState(items, topItems, totalCount, gap, sizesValue, firstItemIndex);
|
|
254
|
+
}),
|
|
255
|
+
//@ts-expect-error filter needs to be fixed
|
|
256
|
+
u.filter(function (value) { return value !== null; }), u.distinctUntilChanged()), EMPTY_LIST_STATE);
|
|
257
|
+
u.connect(u.pipe(data, u.filter(u.isDefined), u.map(function (data) { return data === null || data === void 0 ? void 0 : data.length; })), totalCount);
|
|
258
|
+
u.connect(u.pipe(listState, u.map(function (value) { return value.topListHeight; })), topListHeight);
|
|
214
259
|
u.connect(topListHeight, rangeTopListHeight);
|
|
215
260
|
u.connect(u.pipe(listState, u.map(function (state) { return [state.top, state.bottom]; })), listBoundary);
|
|
216
261
|
u.connect(u.pipe(listState, u.map(function (state) { return state.items; })), itemsRendered);
|
|
@@ -239,15 +284,18 @@ exports.listStateSystem = u.system(function (_a) {
|
|
|
239
284
|
return items.length > 0;
|
|
240
285
|
}), u.map(function (_a) {
|
|
241
286
|
var items = _a.items;
|
|
287
|
+
var startIndex = 0;
|
|
288
|
+
var endIndex = items.length - 1;
|
|
289
|
+
while (items[startIndex].type === 'group' && startIndex < endIndex) {
|
|
290
|
+
startIndex++;
|
|
291
|
+
}
|
|
292
|
+
while (items[endIndex].type === 'group' && endIndex > startIndex) {
|
|
293
|
+
endIndex--;
|
|
294
|
+
}
|
|
242
295
|
return {
|
|
243
|
-
startIndex: items[
|
|
244
|
-
endIndex: items[
|
|
296
|
+
startIndex: items[startIndex].index,
|
|
297
|
+
endIndex: items[endIndex].index,
|
|
245
298
|
};
|
|
246
299
|
}), u.distinctUntilChanged(comparators_1.rangeComparator)));
|
|
247
|
-
return tslib_1.__assign({ listState: listState,
|
|
248
|
-
|
|
249
|
-
endReached: endReached,
|
|
250
|
-
startReached: startReached,
|
|
251
|
-
rangeChanged: rangeChanged,
|
|
252
|
-
itemsRendered: itemsRendered }, stateFlags);
|
|
253
|
-
}, u.tup(sizeSystem_1.sizeSystem, groupedListSystem_1.groupedListSystem, sizeRangeSystem_1.sizeRangeSystem, initialTopMostItemIndexSystem_1.initialTopMostItemIndexSystem, scrollToIndexSystem_1.scrollToIndexSystem, stateFlagsSystem_1.stateFlagsSystem, propsReadySystem_1.propsReadySystem), { singleton: true });
|
|
300
|
+
return tslib_1.__assign({ listState: listState, topItemsIndexes: topItemsIndexes, endReached: endReached, startReached: startReached, rangeChanged: rangeChanged, itemsRendered: itemsRendered, initialItemCount: initialItemCount }, stateFlags);
|
|
301
|
+
}, u.tup(sizeSystem_1.sizeSystem, groupedListSystem_1.groupedListSystem, sizeRangeSystem_1.sizeRangeSystem, initialTopMostItemIndexSystem_1.initialTopMostItemIndexSystem, scrollToIndexSystem_1.scrollToIndexSystem, stateFlagsSystem_1.stateFlagsSystem, propsReadySystem_1.propsReadySystem, recalcSystem_1.recalcSystem), { singleton: true });
|