| @@ -204,7 +204,7 @@ index ce1fe00001c9e5aee6c6ea8bb2d4757d4586d002..3ccf6f16067152dfcb0c143371e2ec6a · 203 unmodified lines |
| 204 | 204 | * Number of columns to render items in. |
| 205 | 205 | * @default 1 |
| 206 | 206 | diff --git a/react-native.js b/react-native.js |
| 207 | | −index b3c5a306b293f797a8b338adfca3060c0f6db22b..89077be4d6833cfaabf9d6d6205d9551505e32b4 100644 |
| 207 | +index b3c5a306b293f797a8b338adfca3060c0f6db22b..4227ed22da8865b7493f47f199f4d8f4a5493efb 100644 |
| 208 | 208 | --- a/react-native.js |
| 209 | 209 | +++ b/react-native.js |
| 210 | 210 | @@ -954,7 +954,7 @@ function setInitialRenderState(ctx, { |
| @@ -513,14 +513,6 @@ index b3c5a306b293f797a8b338adfca3060c0f6db22b..89077be4d6833cfaabf9d6d6205d9551 · 302 unmodified lines |
| 513 | 513 | estimatedItemSize = 100, |
| 514 | 514 | estimatedListSize, |
| 515 | 515 | extraData, |
| 516 | | −@@ -7105,6 +7260,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded |
| 517 | | − onLayout: onLayoutProp, |
| 518 | | − onLoad, |
| 519 | | − onMomentumScrollEnd, |
| 520 | | −+ onScrollBeginDrag, |
| 521 | | − onRefresh, |
| 522 | | − onScroll: onScrollProp, |
| 523 | | − onScrollBeginDrag, |
| 524 | 516 | @@ -7200,7 +7356,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded |
| 525 | 517 | const combinedRef = useCombinedRef(refScroller, refScrollView); |
| 526 | 518 | const keyExtractor = keyExtractorProp != null ? keyExtractorProp : ((_item, index) => index.toString()); |
| @@ -925,6 +917,62 @@ index 40e87cda8c9bc79a889e5542f29af429a24b24d4..2d556eecb0bafe2f54084c809f82144c · 398 unmodified lines |
| 925 | 917 | onScroll: onScrollHandler, |
| 926 | 918 | recycleItems, |
| 927 | 919 | refreshControl: refreshControlElement ? stylePaddingTopState > 0 ? React2.cloneElement(refreshControlElement, { |
| 920 | +diff --git a/react.js b/react.js |
| 921 | +index 914d2dafaafa001c9ab6791a0a0581659295e333..06466096ceb96ef8773f7f7e202a19c9b774d49b 100644 |
| 922 | +--- a/react.js |
| 923 | ++++ b/react.js |
| 924 | +@@ -4702,7 +4702,8 @@ function maybeUpdateAnchoredEndSpace(ctx) { |
| 925 | + contentBelowAnchor = Math.max(0, contentBelowAnchor - ctx.scrollAxisGap); |
| 926 | + contentBelowAnchor += (ctx.values.get("footerSize") || 0) + getStylePaddingEnd(state.props); |
| 927 | + isReady = !hasUnknownTailSize; |
| 928 | +- nextSize = hasUnknownTailSize ? previousSize || 0 : Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset); |
| 929 | ++ const knownSizeBound = Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset); |
| 930 | ++ nextSize = hasUnknownTailSize ? Math.min(previousSize || 0, knownSizeBound) : knownSizeBound; |
| 931 | + } else if (anchorIndex >= 0) { |
| 932 | + isReady = false; |
| 933 | + } |
| 934 | +@@ -4721,7 +4722,13 @@ function maybeUpdateAnchoredEndSpace(ctx) { |
| 935 | + updateContentMetricsState(ctx); |
| 936 | + updateScroll(ctx, state.scroll, true, { markHasScrolled: false }); |
| 937 | + } |
| 938 | + (_b = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onReady) == null ? void 0 : _b.call(anchoredEndSpace, { anchorIndex: nextAnchorIndex, anchorKey: nextAnchorKey, size: nextSize }); |
| 939 | ++ } else if (!isReady && didSizeChange && nextSize < (previousSize || 0)) { |
| 940 | ++ set$(ctx, "anchoredEndSpaceSize", nextSize); |
| 941 | ++ (_a3 = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onSizeChanged) == null ? void 0 : _a3.call(anchoredEndSpace, nextSize); |
| 942 | ++ if (anchoredEndSpace == null ? void 0 : anchoredEndSpace.includeInEndInset) { |
| 943 | ++ updateScroll(ctx, state.scroll, true, { markHasScrolled: false }); |
| 944 | ++ } |
| 945 | + } |
| 946 | + return nextSize; |
| 947 | + } |
| 948 | +diff --git a/react.mjs b/react.mjs |
| 949 | +index 95465f2ab89ce41a10553f58af83618f7310e83c..4b5f06c60f1e8bbd9035a49980d9e86820262da4 100644 |
| 950 | +--- a/react.mjs |
| 951 | ++++ b/react.mjs |
| 952 | +@@ -4681,7 +4681,8 @@ function maybeUpdateAnchoredEndSpace(ctx) { |
| 953 | + contentBelowAnchor = Math.max(0, contentBelowAnchor - ctx.scrollAxisGap); |
| 954 | + contentBelowAnchor += (ctx.values.get("footerSize") || 0) + getStylePaddingEnd(state.props); |
| 955 | + isReady = !hasUnknownTailSize; |
| 956 | +- nextSize = hasUnknownTailSize ? previousSize || 0 : Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset); |
| 957 | ++ const knownSizeBound = Math.max(0, state.scrollLength - contentBelowAnchor - anchorOffset); |
| 958 | ++ nextSize = hasUnknownTailSize ? Math.min(previousSize || 0, knownSizeBound) : knownSizeBound; |
| 959 | + } else if (anchorIndex >= 0) { |
| 960 | + isReady = false; |
| 961 | + } |
| 962 | +@@ -4700,7 +4701,13 @@ function maybeUpdateAnchoredEndSpace(ctx) { |
| 963 | + updateContentMetricsState(ctx); |
| 964 | + updateScroll(ctx, state.scroll, true, { markHasScrolled: false }); |
| 965 | + } |
| 966 | + (_b = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onReady) == null ? void 0 : _b.call(anchoredEndSpace, { anchorIndex: nextAnchorIndex, anchorKey: nextAnchorKey, size: nextSize }); |
| 967 | ++ } else if (!isReady && didSizeChange && nextSize < (previousSize || 0)) { |
| 968 | ++ set$(ctx, "anchoredEndSpaceSize", nextSize); |
| 969 | ++ (_a3 = anchoredEndSpace == null ? void 0 : anchoredEndSpace.onSizeChanged) == null ? void 0 : _a3.call(anchoredEndSpace, nextSize); |
| 970 | ++ if (anchoredEndSpace == null ? void 0 : anchoredEndSpace.includeInEndInset) { |
| 971 | ++ updateScroll(ctx, state.scroll, true, { markHasScrolled: false }); |
| 972 | ++ } |
| 973 | + } |
| 974 | + return nextSize; |
| 975 | + } |
| 928 | 976 | diff --git a/reanimated.d.ts b/reanimated.d.ts |
| 929 | 977 | index e5043320700b12f34f4c0babbc341f85ca8135c1..2ce63830a28636b21937a0741fd0e613dae950fe 100644 |
| 930 | 978 | --- a/reanimated.d.ts |