10813 lines
373 KiB
JavaScript
10813 lines
373 KiB
JavaScript
// Metro module 15038 (f15039).
|
|
import * as __classCallCheck from "./_classCallCheck";
|
|
import * as __createClass from "./_createClass";
|
|
import * as __objectWithoutProperties from "./_objectWithoutProperties";
|
|
import * as __slicedToArray from "./_slicedToArray";
|
|
import * as _Module19 from "react";
|
|
import { createContext } from "react";
|
|
import * as _Module17 from "react-native";
|
|
import { StyleSheet, Text, View, Platform, PixelRatio } from "react-native";
|
|
import { HermesBuiltin } from "../_hermes/prelude";
|
|
function $mk95155($env) {
|
|
return function(a0) {
|
|
let env27890 = {
|
|
$parent: $env
|
|
};
|
|
env27890[0] = a0;
|
|
if (a0 !== "default") {
|
|
const r2 = $env;
|
|
let r9 = Object.getOwnPropertyDescriptor(r2[0], a0);
|
|
const r10 = Object;
|
|
const r12 = r2[1];
|
|
if (!r9.get) {
|
|
r9 = {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return env27890.$parent[0][env27890[0]];
|
|
}
|
|
};
|
|
}
|
|
r10.defineProperty(r12, a0, r9);
|
|
}
|
|
};
|
|
}
|
|
function $mk95157($env) {
|
|
return () => {
|
|
let length2;
|
|
const r7 = $env;
|
|
const r8 = [];
|
|
const length = r7[1].length;
|
|
let r0 = 0;
|
|
const r3 = 0 < length;
|
|
let r4 = false;
|
|
let r5 = false;
|
|
if (r3) {
|
|
do {
|
|
const r10 = r7[0];
|
|
const r14 = r7[1];
|
|
const r16 = r10.values.get(r14[r0]);
|
|
r8.push(r16);
|
|
const r20 = r7[3][r0];
|
|
const r1 = r0;
|
|
const r21 = r16 !== r20 ? true : r4;
|
|
r0 = r1 + 1;
|
|
length2 = r14.length;
|
|
r4 = r21;
|
|
r5 = r4;
|
|
} while (r0 < length2);
|
|
}
|
|
r7[3] = r8;
|
|
if (r5) {
|
|
r7[2] = r8;
|
|
}
|
|
return r7[2];
|
|
};
|
|
}
|
|
function $mk95158($env) {
|
|
return (a0) => {
|
|
let r25;
|
|
const r8 = $env;
|
|
const r6 = [];
|
|
let c27891_0 = r6;
|
|
let r2 = r8[1][Symbol.iterator]();
|
|
const next = r2.next;
|
|
const r4 = $env.$parent;
|
|
while (true) {
|
|
const r12 = r2 === void 0 ? void 0 : (r25 = next.call(r2)).done ? r2 = void 0 : r25.value;
|
|
if (r2 === void 0) {
|
|
return () => {
|
|
for (const item5 of c27891_0) {
|
|
item5();
|
|
}
|
|
};
|
|
}
|
|
try {
|
|
r6.push((0, r4[20])(r8[0], r12, a0));
|
|
} catch (r32) {
|
|
if (r2 !== void 0 && typeof r2.return === "function") {
|
|
try {
|
|
r2.return();
|
|
} catch {}
|
|
}
|
|
throw r32;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk95159($env) {
|
|
return () => {
|
|
const r0 = $env;
|
|
return r0[1].delete(r0[0]);
|
|
};
|
|
}
|
|
function $mk95160($env) {
|
|
return () => {
|
|
let env27892;
|
|
const r0 = $env;
|
|
const r2 = r0[0];
|
|
const r5 = r0[1].split("\x00");
|
|
const r7 = env27892 = {
|
|
$parent: $env.$parent
|
|
};
|
|
env27892[0] = r2;
|
|
env27892[1] = r5;
|
|
env27892[2] = [];
|
|
env27892[3] = [];
|
|
return {
|
|
get: $mk95157(r7),
|
|
subscribe: $mk95158(r7)
|
|
};
|
|
};
|
|
}
|
|
function $mk95164($env) {
|
|
return () => {
|
|
const r3 = $env[0];
|
|
r3.queuedFullDrawDistancePrewarm = void 0;
|
|
const triggerCalculateItemsInView = r3.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(r3);
|
|
}
|
|
};
|
|
}
|
|
function $mk95167($env) {
|
|
return () => {
|
|
const r4 = $env[0];
|
|
const scrollingTo2 = r4.state.scrollingTo;
|
|
if (scrollingTo2) {
|
|
const state14 = r4.state;
|
|
state14.animFrameCheckFinishedScroll = void 0;
|
|
const r11 = $env.$parent;
|
|
const r7 = (0, r11[62])(r4, scrollingTo2);
|
|
let isAtResolvedTarget = r7.isAtResolvedTarget;
|
|
if (isAtResolvedTarget) {
|
|
const clampedTargetOffset = r7.clampedTargetOffset;
|
|
const isInitialScroll = scrollingTo2.isInitialScroll;
|
|
isAtResolvedTarget = (isInitialScroll ? state14.hasScrolled : !isInitialScroll) || clampedTargetOffset <= 1;
|
|
}
|
|
if (isAtResolvedTarget) {
|
|
(0, r11[60])(r4);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk95174($env) {
|
|
return () => {
|
|
const r5 = $env[0];
|
|
const initialScrollSession = r5.initialScrollSession;
|
|
if (initialScrollSession?.kind === "bootstrap" ? r5.initialScrollSession.bootstrap : void 0) {
|
|
const triggerCalculateItemsInView = r5.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(r5, {
|
|
forceFullItemPositions: true
|
|
});
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk95175($env) {
|
|
return () => {
|
|
const r5 = $env;
|
|
const r4 = r5[1];
|
|
const initialScrollSession = r4.initialScrollSession;
|
|
const r9 = initialScrollSession?.kind === "bootstrap" ? r4.initialScrollSession.bootstrap : void 0;
|
|
if (r9) {
|
|
r9.frameHandle = void 0;
|
|
r9.mountFrameCount = r9.mountFrameCount + 1;
|
|
const r14 = $env.$parent;
|
|
const r15 = r14[78];
|
|
const r16 = r5[0];
|
|
if (!r15(r16, {
|
|
mountFrameCount: r9.mountFrameCount,
|
|
passCount: r9.passCount
|
|
})) {
|
|
let env27894;
|
|
const r21 = env27894 = {
|
|
$parent: r14
|
|
};
|
|
env27894[0] = r16;
|
|
const state14 = r16.state;
|
|
env27894[1] = state14;
|
|
const initialScrollSession2 = state14.initialScrollSession;
|
|
const r26 = initialScrollSession2?.kind === "bootstrap" ? state14.initialScrollSession.bootstrap : void 0;
|
|
if (r26 && r26.frameHandle === void 0) {
|
|
r26.frameHandle = requestAnimationFrame($mk95175(r21));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk95176($env) {
|
|
return () => {
|
|
L11: {
|
|
const r8 = $env;
|
|
const r5 = r8[2];
|
|
const preservedEndAnchorCorrection = r5.preservedEndAnchorCorrection;
|
|
const preservedEndAnchorCorrection2 = r8[1];
|
|
if (preservedEndAnchorCorrection === preservedEndAnchorCorrection2) {
|
|
const r6 = $env.$parent;
|
|
const r7 = r6[83];
|
|
const r14 = r8[0];
|
|
const r11 = r7(r14);
|
|
if (r11 !== void 0 && !(Math.abs(r11) <= 1)) {
|
|
const lastRequestTime = preservedEndAnchorCorrection.lastRequestTime;
|
|
let r2 = !lastRequestTime;
|
|
if (lastRequestTime) {
|
|
const lastNativeScrollTime = r5.lastNativeScrollTime;
|
|
r2 = (lastNativeScrollTime ?? 0) > preservedEndAnchorCorrection.lastRequestTime;
|
|
}
|
|
if (r2) {
|
|
preservedEndAnchorCorrection.lastRequestTime = Date.now();
|
|
(0, r6[65])(r14, r11);
|
|
}
|
|
let env27895;
|
|
const r27 = env27895 = {
|
|
$parent: r6
|
|
};
|
|
env27895[0] = r14;
|
|
env27895[1] = preservedEndAnchorCorrection2;
|
|
const state14 = r14.state;
|
|
env27895[2] = state14;
|
|
state14.preservedEndAnchorCorrection = preservedEndAnchorCorrection2;
|
|
requestAnimationFrame($mk95176(r27));
|
|
break L11;
|
|
}
|
|
r5.preservedEndAnchorCorrection = void 0;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk95179($env) {
|
|
return () => {
|
|
let r57, r104, r105, r106, r142, r151, r166, r747, r823, r843, queuedInitialLayout;
|
|
const r1 = $env;
|
|
let env27897 = {
|
|
$parent: $env
|
|
};
|
|
let r12 = void 0;
|
|
const r2 = r1[2];
|
|
const { columns, containerItemKeys } = r2;
|
|
env27897[0] = containerItemKeys;
|
|
let enableScrollForNextCalculateItemsInView = r2.enableScrollForNextCalculateItemsInView;
|
|
const idCache = r2.idCache;
|
|
env27897[1] = idCache;
|
|
const { indexByKey: indexByKey2, minIndexSizeChanged, positions: positions2, props } = r2;
|
|
const alwaysRenderIndicesArr = props.alwaysRenderIndicesArr;
|
|
env27897[2] = props.alwaysRenderIndicesSet;
|
|
const getItemType = props.getItemType;
|
|
env27897[3] = getItemType;
|
|
const keyExtractor2 = props.keyExtractor;
|
|
env27897[4] = props.onStickyHeaderChange;
|
|
const { scrollForNextCalculateItemsInView, scrollLength } = r2;
|
|
env27897[5] = scrollLength;
|
|
const { sizes, startBufferedId, viewabilityConfigCallbackPairs: viewabilityConfigCallbackPairs2 } = r2;
|
|
const data3 = r2.props.data;
|
|
env27897[6] = data3;
|
|
const r23 = r2.props.stickyHeaderIndicesArr || [];
|
|
env27897[7] = r23;
|
|
const r40 = r2.props.stickyHeaderIndicesSet || new Set();
|
|
const r116 = $env.$parent;
|
|
const r7 = r116[46];
|
|
const r6 = r1[0];
|
|
const r9 = r1[1];
|
|
const r22 = r7(r6, r9.drawDistanceMode);
|
|
const { dataChanged, doMVCP, forceFullItemPositions } = r9;
|
|
const initialScrollSession = r2.initialScrollSession;
|
|
const r25 = initialScrollSession?.kind === "bootstrap" ? r2.initialScrollSession.bootstrap : void 0;
|
|
const r126 = !r25;
|
|
const r127 = r116[21];
|
|
const r17 = r127(r6, "numContainers");
|
|
if (data3 && scrollLength !== 0 && r17) {
|
|
const r38 = r116[25];
|
|
env27897[8] = r38(r6);
|
|
env27897[9] = r127(r6, "stylePaddingTop") + r127(r6, "alignItemsAtEndPadding") + r127(r6, "headerSize");
|
|
const r139 = r127(r6, "numColumns");
|
|
let scrollVelocity = r9.scrollVelocity;
|
|
if (scrollVelocity == null) {
|
|
scrollVelocity = (0, r116[69])(r2);
|
|
}
|
|
L25: {
|
|
r142 = !r126;
|
|
const initialScroll2 = r2.initialScroll;
|
|
queuedInitialLayout = r2.queuedInitialLayout;
|
|
if (r142) {
|
|
let r154 = r25?.scroll;
|
|
if (r154 == null) {
|
|
r154 = r2.scroll;
|
|
}
|
|
r151 = r154;
|
|
} else {
|
|
if (!queuedInitialLayout && (0, r116[41])(r2) && initialScroll2) {
|
|
r151 = (0, r116[75])(r6, initialScroll2);
|
|
break L25;
|
|
}
|
|
r151 = r2.scroll;
|
|
}
|
|
}
|
|
env27897[10] = 0;
|
|
env27897[11] = 0;
|
|
env27897[12] = 0;
|
|
env27897[13] = 0;
|
|
env27897[14] = 0;
|
|
env27897[15] = 0;
|
|
env27897[16] = r151;
|
|
const updateScroll2 = (a0) => {
|
|
env27897[16] = a0;
|
|
const r10 = env27897.$parent[0].values.get("scrollAdjustPending");
|
|
const r12 = r10 ?? 0;
|
|
env27897[10] = r12;
|
|
env27897[11] = r12 - env27897[9];
|
|
const r20 = Math.round(a0 + 0 + env27897[11]);
|
|
env27897[12] = r20;
|
|
const r21 = env27897[5];
|
|
const r22 = r20 + r21;
|
|
const r23 = env27897[8];
|
|
if (r22 > r23) {
|
|
env27897[12] = Math.max(0, r23 - r21);
|
|
}
|
|
};
|
|
updateScroll2(r151);
|
|
const r159 = r127(r6, "activeStickyIndex");
|
|
env27897[17] = r159;
|
|
const resolveStickyState = () => {
|
|
const r13 = env27897[7];
|
|
const r6 = r13.length > 0;
|
|
let r12 = -1;
|
|
let currentStickyIdx = -1;
|
|
if (r6) {
|
|
const r10 = env27897[12];
|
|
const positions2 = env27897.$parent[2].positions;
|
|
let r0 = r13.length - 1;
|
|
let r2 = -1;
|
|
while (0 <= r0) {
|
|
const r21 = positions2[r13[r0]];
|
|
const r1 = r0;
|
|
if (r21 !== void 0) {
|
|
r2 = r1;
|
|
if (r10 >= r21) {
|
|
break;
|
|
}
|
|
}
|
|
r0 = r1 - 1;
|
|
r2 = -1;
|
|
}
|
|
currentStickyIdx = r2;
|
|
}
|
|
if (0 <= currentStickyIdx) {
|
|
r12 = r13[currentStickyIdx];
|
|
}
|
|
let r23 = currentStickyIdx >= 0;
|
|
const index2 = r12;
|
|
const r24 = env27897[17];
|
|
if (!(0 <= currentStickyIdx)) {
|
|
r23 = r24 >= 0;
|
|
}
|
|
if (r23) {
|
|
(0, env27897.$parent.$parent[22])(env27897.$parent[0], "activeStickyIndex", index2);
|
|
}
|
|
return {
|
|
currentStickyIdx,
|
|
finishCalculateItemsInView: env27897[4] ? r13.length > 0 ? r24 !== index2 ? () => {
|
|
const item5 = env27897[6][index2];
|
|
if (item5 !== void 0) {
|
|
const r7 = env27897[4];
|
|
if (r7 != null) {
|
|
r7({
|
|
index: index2,
|
|
item: item5
|
|
});
|
|
}
|
|
}
|
|
} : void 0 : void 0 : void 0
|
|
};
|
|
};
|
|
let r161 = dataChanged ? void 0 : resolveStickyState();
|
|
L32: {
|
|
L31: {
|
|
env27897[18] = r22;
|
|
env27897[19] = r22;
|
|
if (!(scrollVelocity > 0)) {
|
|
if (scrollVelocity === 0 && env27897[12] < Math.max(50, r22)) {
|
|
break L31;
|
|
}
|
|
r57 = 1.5 * r22;
|
|
env27897[18] = r57;
|
|
r166 = 0.5 * r22;
|
|
env27897[19] = r166;
|
|
break L32;
|
|
}
|
|
}
|
|
const r168 = 0.5 * r22;
|
|
env27897[18] = r168;
|
|
const r170 = 1.5 * r22;
|
|
env27897[19] = r170;
|
|
r166 = r170;
|
|
r57 = r168;
|
|
}
|
|
const r171 = dataChanged ? 0 : forceFullItemPositions ? 0 : r142 ? 0 : (0, r116[41])(r2) ? 0 : r2.scrollingTo ? 0 : r2.pendingNativeMVCPAdjust ? 0 : r127(r6, "readyToRender") ? (function getProjectedBufferAdjustment(a0, a1) {
|
|
if (a1 <= 0) {
|
|
return 0;
|
|
}
|
|
const r12 = Math.min(1, Math.abs(a0) / 4);
|
|
return Math.sign(a0) * a1 * r12;
|
|
})(scrollVelocity, Math.min(r57, r166)) : 0;
|
|
env27897[20] = r171;
|
|
const updateScrollRange = () => {
|
|
const r9 = Math.max(0, env27897[12]);
|
|
env27897[14] = Math.max(r9, env27897[12] + env27897[5] + Math.max(0, -env27897[16]));
|
|
const r21 = r9 - env27897[18];
|
|
const r22 = env27897[20];
|
|
env27897[13] = r21 + r22;
|
|
env27897[15] = env27897[14] + env27897[19] + r22;
|
|
};
|
|
updateScrollRange();
|
|
if (r171 !== 0) {
|
|
(function scheduleRenderRangeProjectionSettle({ state: state13 }) {
|
|
let c30823_1;
|
|
const timeoutRenderRangeProjectionSettle = state13.timeoutRenderRangeProjectionSettle;
|
|
if (timeoutRenderRangeProjectionSettle !== void 0) {
|
|
clearTimeout(timeoutRenderRangeProjectionSettle);
|
|
state13.timeouts.delete(timeoutRenderRangeProjectionSettle);
|
|
}
|
|
const timeoutRenderRangeProjectionSettle2 = setTimeout(() => {
|
|
state13.timeoutRenderRangeProjectionSettle = void 0;
|
|
state13.timeouts.delete(c30823_1);
|
|
state13.scrollHistory.length = 0;
|
|
const triggerCalculateItemsInView = state13.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(state13);
|
|
}
|
|
}, 100);
|
|
c30823_1 = timeoutRenderRangeProjectionSettle2;
|
|
state13.timeoutRenderRangeProjectionSettle = timeoutRenderRangeProjectionSettle2;
|
|
state13.timeouts.add(timeoutRenderRangeProjectionSettle2);
|
|
})(r6);
|
|
}
|
|
L66: {
|
|
if (enableScrollForNextCalculateItemsInView && !r142 && !dataChanged && !forceFullItemPositions && scrollForNextCalculateItemsInView) {
|
|
const { top, bottom } = scrollForNextCalculateItemsInView;
|
|
const r194 = top === null;
|
|
if (r194 && bottom === null) {
|
|
r2.scrollForNextCalculateItemsInView = void 0;
|
|
break L66;
|
|
}
|
|
if (!r194 && !(env27897[13] > top)) {
|
|
break L66;
|
|
}
|
|
if (bottom !== null && !(env27897[15] < bottom)) {
|
|
break L66;
|
|
}
|
|
if (viewabilityConfigCallbackPairs2) {
|
|
const r91 = env27897[12];
|
|
const r90 = env27897[14];
|
|
$mk110482(r116)(r6, viewabilityConfigCallbackPairs2, scrollLength, r91, r90);
|
|
} else if (r2.props.onFirstVisibleItemChanged) {
|
|
const r200 = r116[102];
|
|
const r203 = env27897[12];
|
|
r200(r2, $mk110483(r116)(r6, r203));
|
|
}
|
|
const finishCalculateItemsInView = r161?.finishCalculateItemsInView;
|
|
if (finishCalculateItemsInView != null) {
|
|
const r214 = finishCalculateItemsInView.call(r161);
|
|
}
|
|
return void 0;
|
|
}
|
|
}
|
|
const r218 = doMVCP ? r142 ? void 0 : (0, r116[68])(r6, dataChanged) : void 0;
|
|
if (dataChanged) {
|
|
(0, r116[86])(r2);
|
|
}
|
|
let startIndex = 0;
|
|
if (!forceFullItemPositions) {
|
|
startIndex = 0;
|
|
if (!dataChanged) {
|
|
let r225 = minIndexSizeChanged;
|
|
if (r225 == null) {
|
|
r225 = r2.startBuffered;
|
|
}
|
|
startIndex = r225 ?? 0;
|
|
}
|
|
}
|
|
r116[89](r6, dataChanged, {
|
|
doMVCP,
|
|
forceFullUpdate: !!forceFullItemPositions,
|
|
optimizeForVisibleWindow: (forceFullItemPositions ? !forceFullItemPositions : !dataChanged) && r139 > 1 && minIndexSizeChanged !== void 0,
|
|
scrollBottomBuffered: env27897[15],
|
|
scrollVelocity,
|
|
startIndex
|
|
});
|
|
const r63 = r38(r6);
|
|
env27897[8] = r63;
|
|
if (minIndexSizeChanged !== void 0) {
|
|
r2.minIndexSizeChanged = void 0;
|
|
}
|
|
let r240 = void 0;
|
|
if (dataChanged) {
|
|
r240 = void 0;
|
|
if (doMVCP) {
|
|
const data4 = r2.props.maintainVisibleContentPosition.data;
|
|
r240 = void 0;
|
|
if (data4) {
|
|
const didContainersLayout = r2.didContainersLayout;
|
|
r240 = void 0;
|
|
if (didContainersLayout) {
|
|
const r250 = r2.idsInView.length > 0;
|
|
r240 = void 0;
|
|
if (r250) {
|
|
const shouldRestorePosition2 = r2.props.maintainVisibleContentPosition.shouldRestorePosition;
|
|
const set2 = new Set();
|
|
let r263 = r2.idsInView[Symbol.iterator]();
|
|
const next = r263.next;
|
|
while (true) {
|
|
const r266 = r263 === void 0 ? void 0 : (r104 = next.call(r263)).done ? r263 = void 0 : r104.value;
|
|
const r267 = r263;
|
|
r240 = set2;
|
|
if (r267 === void 0) {
|
|
break;
|
|
}
|
|
try {
|
|
const r270 = indexByKey2.get(r266);
|
|
if (r270 !== void 0) {
|
|
let r272 = shouldRestorePosition2;
|
|
if (r272) {
|
|
r272 = !shouldRestorePosition2(data3[r270], r270, data3);
|
|
}
|
|
if (!r272) {
|
|
set2.add(r266);
|
|
}
|
|
}
|
|
} catch (r279) {
|
|
if (r263 !== void 0 && typeof r263.return === "function") {
|
|
try {
|
|
r263.return();
|
|
} catch {}
|
|
}
|
|
throw r279;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const r280 = r1[2];
|
|
const scroll2 = r280.scroll;
|
|
const r283 = r116[21];
|
|
const r285 = r1[0];
|
|
const r288 = r283(r285, "scrollAdjustPending");
|
|
const r290 = r288 ?? 0;
|
|
if (r218 != null) {
|
|
r218();
|
|
}
|
|
let r293 = !!r218;
|
|
if (r293) {
|
|
let r296 = r280.scroll !== scroll2;
|
|
if (!r296) {
|
|
const r299 = r283(r285, "scrollAdjustPending");
|
|
r296 = (r299 ?? 0) !== r290;
|
|
}
|
|
r293 = r296;
|
|
}
|
|
if (r293) {
|
|
updateScroll2(r280.scroll);
|
|
updateScrollRange();
|
|
}
|
|
if (dataChanged) {
|
|
r161 = resolveStickyState();
|
|
}
|
|
let r306 = r142 ? r25?.targetIndexSeed : void 0;
|
|
if (r306 == null) {
|
|
r306 = (dataChanged ? !dataChanged : startBufferedId) && indexByKey2.get(startBufferedId) || 0;
|
|
}
|
|
let r311 = r306;
|
|
let r312 = r311;
|
|
let r313 = r312;
|
|
if (r313 >= 0) {
|
|
do {
|
|
let r314 = idCache[r311];
|
|
const r315 = r311;
|
|
const r316 = r312;
|
|
if (r314 == null) {
|
|
r314 = (0, r116[49])(r1[2], r315);
|
|
}
|
|
const r320 = positions2[r315];
|
|
let r322 = sizes.get(r314);
|
|
const r323 = r314;
|
|
if (r322 == null) {
|
|
r322 = (0, r116[58])(r1[0], r323, r315, data3[r315]);
|
|
}
|
|
const r332 = r320 + r322;
|
|
const r333 = env27897[13];
|
|
r313 = r316;
|
|
if (!(r332 > r333)) {
|
|
break;
|
|
}
|
|
r311 = r315 - 1;
|
|
r312 = r315;
|
|
r313 = r312;
|
|
} while (r311 >= 0);
|
|
}
|
|
let r335 = r313;
|
|
if (r139 > 1) {
|
|
let r336 = r313;
|
|
r335 = r336;
|
|
if (r335 > 0) {
|
|
do {
|
|
const r337 = columns[r336];
|
|
const r338 = r336;
|
|
r335 = r338;
|
|
if (r337 === 1) {
|
|
break;
|
|
}
|
|
r335 = r338;
|
|
if (r337 === void 0) {
|
|
break;
|
|
}
|
|
r336 = r338 - 1;
|
|
r335 = r336;
|
|
} while (0 < r335);
|
|
}
|
|
}
|
|
const r339 = 0 < r17;
|
|
let r342 = 0;
|
|
let r343 = 0;
|
|
let r62 = 0;
|
|
if (r339) {
|
|
do {
|
|
const r351 = (0, r116[21])(r1[0], `containerItemKey${r342}`);
|
|
const r352 = r342;
|
|
const r353 = r343;
|
|
const r354 = r351 !== void 0 ? Math.max(r353, indexByKey2.get(r351)) : r353;
|
|
r342 = r352 + 1;
|
|
r343 = r354;
|
|
r62 = r343;
|
|
} while (r342 < r17);
|
|
}
|
|
const r359 = {
|
|
endNoBuffer: null,
|
|
firstFullyOnScreenIndex: void 0,
|
|
startNoBuffer: null
|
|
};
|
|
const length = data3.length;
|
|
env27897[21] = length;
|
|
const r363 = Math.max(0, r335);
|
|
const r66 = r363 < length;
|
|
let r366 = r363;
|
|
let r367 = false;
|
|
let r368 = void 0;
|
|
let r369 = void 0;
|
|
let r370 = null;
|
|
let r371 = null;
|
|
let r372 = null;
|
|
let bottom2 = void 0;
|
|
let top2 = void 0;
|
|
let endBuffered2 = null;
|
|
let startBufferedId2 = null;
|
|
let startBuffered2 = null;
|
|
if (r66) {
|
|
while (true) {
|
|
let r68 = idCache[r366];
|
|
const r378 = r366;
|
|
const r83 = r367;
|
|
let r80 = r368;
|
|
let r76 = r369;
|
|
let r79 = r370;
|
|
let r74 = r371;
|
|
let r73 = r372;
|
|
if (r68 == null) {
|
|
r68 = (0, r116[49])(r1[2], r378);
|
|
}
|
|
let r85 = sizes.get(r68);
|
|
const r75 = r68;
|
|
if (r85 == null) {
|
|
r85 = (0, r116[58])(r1[0], r75, r378, data3[r378]);
|
|
}
|
|
const r84 = positions2[r378];
|
|
let r71 = r80;
|
|
let r70 = r76;
|
|
let r389 = r79;
|
|
let r390 = r74;
|
|
let r391 = r73;
|
|
let r72 = r83;
|
|
if (!r72) {
|
|
(0, r116[100])(r359, r378, r84, r85, env27897[12], env27897[14]);
|
|
if (r73 === null && r84 + r85 > env27897[13]) {
|
|
r76 = env27897[13] < 0 ? null : r84;
|
|
r74 = r75;
|
|
r73 = r378;
|
|
}
|
|
const startNoBuffer = r359.startNoBuffer;
|
|
let r403 = r83;
|
|
let r404 = r80;
|
|
let r405 = r79;
|
|
if (startNoBuffer !== null) {
|
|
const r82 = r84 <= env27897[15];
|
|
let r407 = true;
|
|
if (r82) {
|
|
r80 = env27897[15] > r63 ? null : r84 + r85;
|
|
r407 = r83;
|
|
r79 = r378;
|
|
}
|
|
r403 = r407;
|
|
r404 = r80;
|
|
r405 = r79;
|
|
}
|
|
r72 = r403;
|
|
r71 = r404;
|
|
r389 = r405;
|
|
r70 = r76;
|
|
r390 = r74;
|
|
r391 = r73;
|
|
}
|
|
const r409 = r378 + 1;
|
|
bottom2 = r71;
|
|
top2 = r70;
|
|
endBuffered2 = r389;
|
|
startBufferedId2 = r390;
|
|
startBuffered2 = r391;
|
|
if (!(r409 < length)) {
|
|
break;
|
|
}
|
|
r366 = r409;
|
|
r367 = r72;
|
|
r368 = r71;
|
|
r369 = r70;
|
|
r370 = r389;
|
|
r371 = r390;
|
|
r372 = r391;
|
|
if (r72) {
|
|
r367 = r72;
|
|
r368 = r71;
|
|
r369 = r70;
|
|
r370 = r389;
|
|
r371 = r390;
|
|
r372 = r391;
|
|
bottom2 = r368;
|
|
top2 = r369;
|
|
endBuffered2 = r370;
|
|
startBufferedId2 = r371;
|
|
startBuffered2 = r372;
|
|
r366 = r409;
|
|
if (!(r366 <= r62)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const r410 = Object;
|
|
const r412 = r1[2];
|
|
r410.assign(r412, {
|
|
endBuffered: endBuffered2,
|
|
endNoBuffer: r359.endNoBuffer,
|
|
firstFullyOnScreenIndex: r359.firstFullyOnScreenIndex,
|
|
idsInView: (0, r116[101])(r412, r359),
|
|
startBuffered: startBuffered2,
|
|
startBufferedId: startBufferedId2,
|
|
startNoBuffer: r359.startNoBuffer
|
|
});
|
|
if (enableScrollForNextCalculateItemsInView) {
|
|
enableScrollForNextCalculateItemsInView = top2 !== void 0;
|
|
}
|
|
if (enableScrollForNextCalculateItemsInView) {
|
|
enableScrollForNextCalculateItemsInView = bottom2 !== void 0;
|
|
}
|
|
if (enableScrollForNextCalculateItemsInView) {
|
|
const r422 = r116[54];
|
|
r412.scrollForNextCalculateItemsInView = r422(top2) ? r422(bottom2) ? void 0 : {
|
|
bottom: bottom2,
|
|
top: top2
|
|
} : {
|
|
bottom: bottom2,
|
|
top: top2
|
|
};
|
|
}
|
|
let r427 = r17;
|
|
const r428 = [];
|
|
if (dataChanged) {
|
|
const r430 = 0 < r427;
|
|
let r431 = 0;
|
|
if (r430) {
|
|
do {
|
|
const r439 = (0, r116[21])(r1[0], `containerItemKey${r431}`);
|
|
let r440 = !keyExtractor2;
|
|
const r441 = r431;
|
|
if (keyExtractor2) {
|
|
r440 = r439 && indexByKey2.get(r439) === void 0;
|
|
}
|
|
if (r440) {
|
|
r428.push(r441);
|
|
}
|
|
r431 = r441 + 1;
|
|
} while (r431 < r427);
|
|
}
|
|
}
|
|
const r448 = r1[2];
|
|
let r449 = r448;
|
|
const scrollTargetPinnedRange = r448.scrollTargetPinnedRange;
|
|
env27897[22] = 0;
|
|
env27897[23] = -1;
|
|
let r452 = -1;
|
|
let r453 = 0;
|
|
if (scrollTargetPinnedRange) {
|
|
const r461 = Math.max(0, Math.min(scrollTargetPinnedRange.start, scrollTargetPinnedRange.end));
|
|
env27897[22] = r461;
|
|
const r470 = Math.min(length - 1, Math.max(scrollTargetPinnedRange.start, scrollTargetPinnedRange.end));
|
|
env27897[23] = r470;
|
|
r452 = r470;
|
|
r453 = r461;
|
|
}
|
|
const r471 = r453 <= r452;
|
|
env27897[24] = r471;
|
|
const isPinnedRenderIndex = (a0) => env27897[2].has(a0) || env27897[24] && a0 >= env27897[22] && a0 <= env27897[23];
|
|
if (startBuffered2 !== null && endBuffered2 !== null) {
|
|
const r473 = [];
|
|
env27897[25] = r473;
|
|
const set3 = new Set();
|
|
env27897[26] = set3;
|
|
const addPinnedIndex = (a0) => {
|
|
if (a0 >= 0 && a0 < env27897[21]) {
|
|
let r13 = env27897[1][a0];
|
|
if (r13 == null) {
|
|
const r8 = env27897.$parent[2];
|
|
const props = r8.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r15 = "";
|
|
if (data3) {
|
|
const r16 = a0 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a0], a0) : a0 : null;
|
|
r8.idCache[a0] = r16;
|
|
r15 = r16;
|
|
}
|
|
r13 = r15;
|
|
}
|
|
const r22 = env27897[0].get(r13);
|
|
if (r22 !== void 0) {
|
|
env27897.$parent[2].stickyContainerPool.add(r22);
|
|
} else if (!(r13 == null || env27897[26].has(a0))) {
|
|
env27897[26].add(a0);
|
|
env27897[25].push(a0);
|
|
}
|
|
}
|
|
};
|
|
let r480 = startBuffered2;
|
|
while (r480 <= endBuffered2) {
|
|
let r481 = idCache[r480];
|
|
const r482 = r480;
|
|
if (r481 == null) {
|
|
r481 = (0, r116[49])(r1[2], r482);
|
|
}
|
|
if (!containerItemKeys.has(r481)) {
|
|
set3.add(r482);
|
|
r473.push(r482);
|
|
}
|
|
r480 = r482 + 1;
|
|
}
|
|
let r493 = alwaysRenderIndicesArr[Symbol.iterator]();
|
|
const next2 = r493.next;
|
|
while (true) {
|
|
const r496 = r493 === void 0 ? void 0 : (r105 = next2.call(r493)).done ? r493 = void 0 : r105.value;
|
|
if (r493 === void 0) {
|
|
if (r471) {
|
|
while (r453 <= r452) {
|
|
addPinnedIndex(r453);
|
|
r453 = r453 + 1;
|
|
}
|
|
}
|
|
if (r23.length > 0) {
|
|
const r507 = r1[0];
|
|
const currentStickyIdx = r161?.currentStickyIdx;
|
|
const r512 = currentStickyIdx ?? -1;
|
|
$mk110486(r116)(r507, r23, r512, r473, set3, startBuffered2, endBuffered2);
|
|
} else if (r159 !== -1) {
|
|
(0, r116[22])(r1[0], "activeStickyIndex", -1);
|
|
}
|
|
if (r473.length > 0) {
|
|
const r523 = getItemType ? (a0) => {
|
|
const r6 = (0, env27897[3])(env27897[6][a0], a0);
|
|
return r6 !== void 0 ? String(r6) : "";
|
|
} : void 0;
|
|
const r524 = r1[0];
|
|
let r537 = $mk110488(r116)(r524, r473, startBuffered2, endBuffered2, r428, r523, r240)[Symbol.iterator]();
|
|
const next3 = r537.next;
|
|
while (true) {
|
|
const r543 = r537 === void 0 ? void 0 : (r106 = next3.call(r537)).done ? r537 = void 0 : r106.value;
|
|
if (r537 === void 0) {
|
|
if (r427 === r17) {
|
|
break;
|
|
}
|
|
const r672 = r116[22];
|
|
const r674 = r1[0];
|
|
const r676 = r427;
|
|
r672(r674, "numContainers", r676);
|
|
if (!(r676 > (0, r116[21])(r674, "numContainersPooled"))) {
|
|
break;
|
|
}
|
|
r672(r674, "numContainersPooled", (function getExpandedContainerPoolSize(a0, a1) {
|
|
return a0 <= 0 ? 0 : a1 <= 0 ? 0 : Math.min(Math.max(a0, a1), Math.max(a1, Math.ceil(1.5 * a1)));
|
|
})(length, r427));
|
|
break;
|
|
}
|
|
try {
|
|
const { itemIndex: itemIndex3, containerIndex } = r543;
|
|
const r549 = idCache[itemIndex3];
|
|
const r556 = r549 ?? (0, r116[49])(r1[2], itemIndex3);
|
|
const r557 = r116[21];
|
|
const r559 = r1[0];
|
|
let r565 = r557(r559, `containerItemKey${containerIndex}`);
|
|
const r566 = r565;
|
|
if (r565) {
|
|
r565 = r566 !== r556;
|
|
}
|
|
if (r565) {
|
|
containerItemKeys.delete(r566);
|
|
}
|
|
if (r566 !== r556) {
|
|
if (r12 == null) {
|
|
r12 = new Set();
|
|
}
|
|
const r579 = r12;
|
|
r579.add(containerIndex);
|
|
const r583 = r1[2];
|
|
const containerItemGenerations = r583.containerItemGenerations;
|
|
const r587 = r583.containerItemGenerations[containerIndex];
|
|
containerItemGenerations[containerIndex] = (r587 ?? 0) + 1;
|
|
}
|
|
const r592 = r116[22];
|
|
const r598 = `containerItemKey${containerIndex}`;
|
|
r592(r559, r598, r556);
|
|
const r603 = `containerItemIndex${containerIndex}`;
|
|
r592(r559, r603, itemIndex3);
|
|
r592(r559, `containerItemData${containerIndex}`, data3[itemIndex3]);
|
|
const r611 = r1[2];
|
|
r611.containerItemMetadata.set(containerIndex, (0, r116[28])(r611, itemIndex3, data3[itemIndex3], r543.itemType));
|
|
containerItemKeys.set(r556, containerIndex);
|
|
const userScrollAnchorReset = r611.userScrollAnchorReset;
|
|
if (userScrollAnchorReset != null) {
|
|
userScrollAnchorReset.keys.add(r556);
|
|
}
|
|
const r636 = `containerSticky${containerIndex}`;
|
|
const r639 = r40.has(itemIndex3);
|
|
const r640 = isPinnedRenderIndex(itemIndex3);
|
|
if (r639) {
|
|
r592(r559, r636, true);
|
|
r611.stickyContainerPool.add(containerIndex);
|
|
} else {
|
|
if (r557(r559, r636)) {
|
|
r592(r559, r636, false);
|
|
}
|
|
const stickyContainerPool = r611.stickyContainerPool;
|
|
if (r640) {
|
|
stickyContainerPool.add(containerIndex);
|
|
} else {
|
|
stickyContainerPool.delete(containerIndex);
|
|
}
|
|
}
|
|
if (containerIndex >= r427) {
|
|
r427 = containerIndex + 1;
|
|
}
|
|
} catch (r670) {
|
|
if (r537 !== void 0 && typeof r537.return === "function") {
|
|
try {
|
|
r537.return();
|
|
} catch {}
|
|
}
|
|
throw r670;
|
|
}
|
|
}
|
|
}
|
|
const r688 = r1[2];
|
|
r449 = r688;
|
|
const userScrollAnchorReset2 = r688.userScrollAnchorReset;
|
|
if ((userScrollAnchorReset2 == null ? void 0 : userScrollAnchorReset2.keys.size) !== 0) {
|
|
break;
|
|
}
|
|
r449.userScrollAnchorReset = void 0;
|
|
break;
|
|
}
|
|
try {
|
|
addPinnedIndex(r496);
|
|
} catch (r499) {
|
|
if (r493 !== void 0 && typeof r493.return === "function") {
|
|
try {
|
|
r493.return();
|
|
} catch {}
|
|
}
|
|
throw r499;
|
|
}
|
|
}
|
|
}
|
|
if (r449.stickyContainerPool.size > 0) {
|
|
const r697 = r1[0];
|
|
const r699 = env27897[12];
|
|
const currentStickyIdx2 = r161?.currentStickyIdx;
|
|
const r703 = currentStickyIdx2 ?? -1;
|
|
$mk110490(r116)(r697, r23, r699, r22, r703, r428, isPinnedRenderIndex);
|
|
}
|
|
const r716 = r428.length > 0 ? new Set(r428) : void 0;
|
|
const r723 = 0 < r427;
|
|
let r730 = 0;
|
|
let r731 = false;
|
|
if (r723) {
|
|
do {
|
|
const r732 = r116[21];
|
|
const r734 = r1[0];
|
|
const r739 = r732(r734, `containerItemKey${r730}`);
|
|
const r740 = r716 == null;
|
|
const r741 = r730;
|
|
const r742 = r731;
|
|
if (r740 ? void 0 : r716.has(r741)) {
|
|
if (r739 !== void 0) {
|
|
containerItemKeys.delete(r739);
|
|
if (r12 == null) {
|
|
r12 = new Set();
|
|
}
|
|
r12.add(r741);
|
|
const r768 = r1[2];
|
|
const containerItemGenerations2 = r768.containerItemGenerations;
|
|
const r772 = r768.containerItemGenerations[r741];
|
|
containerItemGenerations2[r741] = (r772 ?? 0) + 1;
|
|
}
|
|
const r776 = r1[2];
|
|
r776.containerItemMetadata.delete(r741);
|
|
if (r776.stickyContainerPool.has(r741)) {
|
|
(0, r116[22])(r734, `containerSticky${r741}`, false);
|
|
r776.stickyContainerPool.delete(r741);
|
|
}
|
|
const r795 = r116[22];
|
|
r795(r734, `containerItemKey${r741}`, void 0);
|
|
r795(r734, `containerItemIndex${r741}`, void 0);
|
|
r795(r734, `containerItemData${r741}`, void 0);
|
|
r795(r734, `containerPosition${r741}`, r116[32]);
|
|
r795(r734, `containerColumn${r741}`, -1);
|
|
r795(r734, `containerSpan${r741}`, 1);
|
|
r747 = r742;
|
|
} else {
|
|
const r746 = indexByKey2.get(r739);
|
|
r747 = r746 !== void 0 ? (0, r116[88])(r734, r741, r746, {
|
|
scrollAdjustPending: env27897[10],
|
|
updateLayout: true
|
|
}).didChangePosition || r742 : r742;
|
|
}
|
|
r730 = r741 + 1;
|
|
r823 = r427;
|
|
r731 = r747;
|
|
} while (r730 < r823);
|
|
}
|
|
if (r12 && r116[27]) {
|
|
(0, r116[87])(r1[0], r12);
|
|
}
|
|
if (r142) {
|
|
(0, r116[84])(r1[0]);
|
|
} else {
|
|
const r829 = r116[102];
|
|
const r830 = r1[2];
|
|
r829(r830, r359.startNoBuffer);
|
|
if (!queuedInitialLayout && !r830.didContainersLayout) {
|
|
const r838 = (0, r116[41])(r830);
|
|
const r839 = r116[77];
|
|
if (r838) {
|
|
r843 = r839(r830, r830.startBuffered, r830.endBuffered);
|
|
} else {
|
|
r843 = r839(r830, r830.startNoBuffer, r830.endNoBuffer);
|
|
if (!r843) {
|
|
r843 = r839(r830, r830.startBuffered, r830.endBuffered);
|
|
}
|
|
}
|
|
if (r843) {
|
|
const r849 = r1[0];
|
|
$mk110491(r116)(r849);
|
|
$mk110492(r116)(r849);
|
|
}
|
|
}
|
|
if (viewabilityConfigCallbackPairs2 && r359.startNoBuffer !== null && r359.endNoBuffer !== null) {
|
|
const r858 = r116[91];
|
|
const r859 = r1[0];
|
|
const state14 = r859.state;
|
|
const { startNoBuffer: startNoBuffer2, endNoBuffer } = r359;
|
|
if (startBuffered2 == null) {
|
|
startBuffered2 = r359.startNoBuffer;
|
|
}
|
|
if (endBuffered2 == null) {
|
|
endBuffered2 = r359.endNoBuffer;
|
|
}
|
|
r858(state14, r859, viewabilityConfigCallbackPairs2, scrollLength, startNoBuffer2, endNoBuffer, startBuffered2, endBuffered2);
|
|
}
|
|
const finishCalculateItemsInView2 = r161?.finishCalculateItemsInView;
|
|
if (finishCalculateItemsInView2 != null) {
|
|
finishCalculateItemsInView2.call(r161);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk95184($env) {
|
|
return () => (0, $env[0])();
|
|
}
|
|
function $mk95186($env) {
|
|
return (a0) => {
|
|
const r2 = $env;
|
|
(0, r2[3])(a0.nativeEvent.layout, false);
|
|
const r8 = r2[2];
|
|
if (r8 != null) {
|
|
r8(a0);
|
|
}
|
|
};
|
|
}
|
|
function $mk95187($env) {
|
|
return () => {
|
|
const r1 = $env;
|
|
if (r1[1] && r1[0].current) {
|
|
r1[0].current.measure($mk110497(r1));
|
|
}
|
|
};
|
|
}
|
|
function $mk95193($env) {
|
|
return () => $env.$parent[12].forwardRef($mk110502($env));
|
|
}
|
|
function $mk95195($env) {
|
|
return () => {
|
|
const r1 = $env;
|
|
return r1[0] ? $mk110503(r1) : void 0;
|
|
};
|
|
}
|
|
function $mk110482($env) {
|
|
return function updateViewabilityForCachedRange(a0, a1, a2, a3, a4) {
|
|
let length;
|
|
const state14 = a0.state;
|
|
const { endBuffered: endBuffered2, idCache, positions: positions2 } = state14;
|
|
const data3 = state14.props.data;
|
|
const { sizes, startBuffered: startBuffered2 } = state14;
|
|
if (startBuffered2 !== null && endBuffered2 !== null && !(startBuffered2 < 0) && !(endBuffered2 < startBuffered2)) {
|
|
const r48 = $env;
|
|
const r7 = startBuffered2 <= endBuffered2;
|
|
let startNoBuffer = null;
|
|
let firstFullyOnScreenIndex = void 0;
|
|
let endNoBuffer = null;
|
|
if (r7) {
|
|
const r3 = startBuffered2 < data3.length;
|
|
let r21 = null;
|
|
let r20 = void 0;
|
|
let r19 = null;
|
|
let r12 = startBuffered2;
|
|
startNoBuffer = null;
|
|
firstFullyOnScreenIndex = void 0;
|
|
endNoBuffer = null;
|
|
if (r3) {
|
|
do {
|
|
let r34 = idCache[r12];
|
|
let r33 = r21;
|
|
let r32 = r20;
|
|
let r30 = r19;
|
|
const r49 = r12;
|
|
if (r34 == null) {
|
|
const props = state14.props;
|
|
const { data: data4, keyExtractor: keyExtractor2 } = props;
|
|
let r50 = "";
|
|
if (data4) {
|
|
const r52 = r49 < data4.length ? keyExtractor2 ? keyExtractor2(data4[r49], r49) : r49 : null;
|
|
state14.idCache[r49] = r52;
|
|
r50 = r52;
|
|
}
|
|
r34 = r50;
|
|
}
|
|
let r56 = sizes.get(r34);
|
|
const r57 = r34;
|
|
if (r56 == null) {
|
|
r56 = (0, r48[58])(a0, r57, r49, data3[r49]);
|
|
}
|
|
const r59 = positions2[r49];
|
|
if (r33 === null && r59 + r56 > a3) {
|
|
r33 = r49;
|
|
}
|
|
if (r32 === void 0 && r59 >= a3 - 10 && r59 <= a4) {
|
|
r32 = r49;
|
|
}
|
|
let r63 = r30;
|
|
let r64 = false;
|
|
if (r33 !== null) {
|
|
const r9 = r59 <= a4;
|
|
let r4 = true;
|
|
if (r9) {
|
|
r30 = r49;
|
|
r4 = false;
|
|
}
|
|
r63 = r30;
|
|
r64 = r4;
|
|
}
|
|
startNoBuffer = r33;
|
|
firstFullyOnScreenIndex = r32;
|
|
endNoBuffer = r63;
|
|
if (r64) {
|
|
break;
|
|
}
|
|
const r65 = r49 + 1;
|
|
startNoBuffer = r33;
|
|
firstFullyOnScreenIndex = r32;
|
|
endNoBuffer = r63;
|
|
if (!(r65 <= endBuffered2)) {
|
|
break;
|
|
}
|
|
length = data3.length;
|
|
r21 = r33;
|
|
r20 = r32;
|
|
r19 = r63;
|
|
startNoBuffer = r21;
|
|
firstFullyOnScreenIndex = r20;
|
|
endNoBuffer = r19;
|
|
r12 = r65;
|
|
} while (r12 < length);
|
|
}
|
|
}
|
|
const r68 = Object;
|
|
const r70 = {
|
|
endNoBuffer,
|
|
firstFullyOnScreenIndex,
|
|
idsInView: null,
|
|
startNoBuffer: null
|
|
};
|
|
if (firstFullyOnScreenIndex == null) {
|
|
firstFullyOnScreenIndex = startNoBuffer;
|
|
}
|
|
const idsInView = [];
|
|
if (firstFullyOnScreenIndex != null && endNoBuffer !== null) {
|
|
while (firstFullyOnScreenIndex <= endNoBuffer) {
|
|
let r74 = state14.idCache[firstFullyOnScreenIndex];
|
|
const r75 = firstFullyOnScreenIndex;
|
|
if (r74 == null) {
|
|
const props2 = state14.props;
|
|
const { data: data5, keyExtractor: keyExtractor3 } = props2;
|
|
let r79 = "";
|
|
if (data5) {
|
|
const r82 = r75 < data5.length ? keyExtractor3 ? keyExtractor3(data5[r75], r75) : r75 : null;
|
|
state14.idCache[r75] = r82;
|
|
r79 = r82;
|
|
}
|
|
r74 = r79;
|
|
}
|
|
idsInView.push(r74);
|
|
firstFullyOnScreenIndex = r75 + 1;
|
|
}
|
|
}
|
|
r70.idsInView = idsInView;
|
|
r70.startNoBuffer = startNoBuffer;
|
|
r68.assign(state14, r70);
|
|
(0, r48[102])(state14, startNoBuffer);
|
|
if (startNoBuffer !== null && endNoBuffer !== null) {
|
|
(0, r48[91])(state14, a0, a1, a2, startNoBuffer, endNoBuffer, startBuffered2, endBuffered2);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk110483($env) {
|
|
return function findFirstVisibleIndexInCachedRange(a0, a1) {
|
|
let length;
|
|
const r16 = $env;
|
|
const state14 = a0.state;
|
|
const { endBuffered: endBuffered2, idCache, positions: positions2 } = state14;
|
|
const data3 = state14.props.data;
|
|
const sizes = state14.sizes;
|
|
let startBuffered2 = state14.startBuffered;
|
|
if (startBuffered2 !== null && endBuffered2 !== null && !(startBuffered2 < 0) && !(endBuffered2 < startBuffered2)) {
|
|
if (startBuffered2 <= endBuffered2 && startBuffered2 < data3.length) {
|
|
do {
|
|
let r17 = idCache[startBuffered2];
|
|
const r28 = startBuffered2;
|
|
if (r17 == null) {
|
|
const props = state14.props;
|
|
const { data: data4, keyExtractor: keyExtractor2 } = props;
|
|
let r29 = "";
|
|
if (data4) {
|
|
const r30 = r28 < data4.length ? keyExtractor2 ? keyExtractor2(data4[r28], r28) : r28 : null;
|
|
state14.idCache[r28] = r30;
|
|
r29 = r30;
|
|
}
|
|
r17 = r29;
|
|
}
|
|
const r34 = sizes.get(r17);
|
|
const r35 = r17;
|
|
let r36 = r34;
|
|
if (r36 == null) {
|
|
r36 = (0, r16[58])(a0, r35, r28, data3[r28]);
|
|
}
|
|
if (positions2[r28] + r36 > a1) {
|
|
return r28;
|
|
}
|
|
const r40 = r28 + 1;
|
|
if (!(r40 <= endBuffered2)) {
|
|
break;
|
|
}
|
|
length = data3.length;
|
|
startBuffered2 = r40;
|
|
} while (startBuffered2 < length);
|
|
}
|
|
return null;
|
|
}
|
|
return null;
|
|
};
|
|
}
|
|
function $mk110486($env) {
|
|
return function handleStickyActivation(a0, a1, a2, a3, a4, a5, a6) {
|
|
const r18 = $env;
|
|
const state14 = a0.state;
|
|
r18[22](a0, "activeStickyIndex", a2 >= 0 ? a1[a2] : -1);
|
|
let r0 = 0;
|
|
while (true) {
|
|
const r1 = a2 - r0;
|
|
const r2 = r0;
|
|
if (!(r1 < 0)) {
|
|
const r29 = a1[r1];
|
|
if (!(0, r18[99])(a0, r29)) {
|
|
let r23 = state14.idCache[r29];
|
|
if (r23 == null) {
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r33 = "";
|
|
if (data3) {
|
|
const r35 = r29 < data3.length ? keyExtractor2 ? keyExtractor2(data3[r29], r29) : r29 : null;
|
|
state14.idCache[r29] = r35;
|
|
r33 = r35;
|
|
}
|
|
r23 = r33;
|
|
}
|
|
if (r23 && !state14.containerItemKeys.has(r23) && (r29 < a5 || r29 > a6) && !a4.has(r29)) {
|
|
a4.add(r29);
|
|
a3.push(r29);
|
|
}
|
|
}
|
|
}
|
|
r0 = r2 + 1;
|
|
if (!(r0 <= 1)) {
|
|
return void 0;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk110488($env) {
|
|
return function findAvailableContainers(a0, a1, a2, a3, a4, a5, a6) {
|
|
let env30824 = {
|
|
$parent: $env
|
|
};
|
|
env30824[0] = a5;
|
|
const length = a1.length;
|
|
if (length === 0) {
|
|
return [];
|
|
}
|
|
const r3 = $env;
|
|
const numContainers = (0, r3[21])(a0, "numContainers");
|
|
const state14 = a0.state;
|
|
env30824[1] = state14;
|
|
env30824[2] = state14.containerItemMetadata;
|
|
const stickyContainerPool = state14.stickyContainerPool;
|
|
const r15 = state14.props.recycleItems && !!state14.props.positionComponentInternal;
|
|
const r12 = a4.length > 0 ? new Set(a4) : void 0;
|
|
env30824[3] = r12;
|
|
const r19 = a1.map((item, index) => {
|
|
const r2 = {
|
|
isSticky: env30824[1].props.stickyHeaderIndicesSet.has(item),
|
|
itemIndex: item,
|
|
itemType: null,
|
|
order: null
|
|
};
|
|
const r10 = env30824[0];
|
|
r2.itemType = r10 == null ? void 0 : r10(item);
|
|
r2.order = index;
|
|
return r2;
|
|
});
|
|
const r24 = r19.filter((item) => !item.isSticky);
|
|
const r21 = r19.filter((item) => item.isSticky);
|
|
const r23 = [];
|
|
const r20 = [];
|
|
const r28 = 0 < numContainers;
|
|
let r68 = 0;
|
|
if (r28) {
|
|
do {
|
|
const r72 = (0, r3[21])(a0, `containerItemKey${r68}`);
|
|
const r31 = r12 == null;
|
|
const containerIndex = r68;
|
|
const r30 = r31 ? void 0 : r12.has(containerIndex);
|
|
L29: {
|
|
const r75 = !r30;
|
|
if (!(r72 && ((a6 == null ? void 0 : a6.has(r72)) && state14.indexByKey.has(r72)))) {
|
|
const r81 = !r75;
|
|
if (stickyContainerPool.has(containerIndex)) {
|
|
if (r72 === void 0 || r81) {
|
|
r20.push({
|
|
containerIndex,
|
|
distance: Number.POSITIVE_INFINITY
|
|
});
|
|
}
|
|
} else {
|
|
if (r72 !== void 0 && !r81) {
|
|
if (r15) {
|
|
break L29;
|
|
}
|
|
const r86 = state14.indexByKey.get(r72);
|
|
if (r86 === void 0) {
|
|
break L29;
|
|
}
|
|
if (!(r86 < a2) && !(r86 > a3)) {
|
|
break L29;
|
|
}
|
|
r23.push({
|
|
containerIndex,
|
|
distance: r86 < a2 ? a2 - r86 : r86 - a3
|
|
});
|
|
break L29;
|
|
}
|
|
r23.push({
|
|
containerIndex,
|
|
distance: Number.POSITIVE_INFINITY
|
|
});
|
|
}
|
|
}
|
|
}
|
|
r68 = containerIndex + 1;
|
|
} while (r68 < numContainers);
|
|
}
|
|
r23.sort(r3[98]);
|
|
const array = new Array(length);
|
|
env30824[4] = array;
|
|
let r110 = numContainers;
|
|
env30824[5] = false;
|
|
const assign = (a0, a1) => {
|
|
env30824[4][a0.order] = {
|
|
containerIndex: a1,
|
|
itemIndex: a0.itemIndex,
|
|
itemType: a0.itemType
|
|
};
|
|
const r10 = env30824[3];
|
|
if (r10 == null ? void 0 : r10.delete(a1)) {
|
|
env30824[5] = true;
|
|
}
|
|
};
|
|
env30824[6] = assign;
|
|
env30824[7] = (a0, c31753_0, c31753_1) => {
|
|
const _loop2 = function _loop2(a0) {
|
|
const r6 = env30824[4];
|
|
if (r6[a0.order]) {
|
|
return 1;
|
|
}
|
|
const r16 = c31753_0.findIndex((item) => {
|
|
const r9 = env30824[2].get(item.containerIndex);
|
|
return c31753_1(r9?.itemType, a0.itemType);
|
|
});
|
|
if (r16 !== -1) {
|
|
const r23 = (0, env30824.$parent[4])(c31753_0.splice(r16, 1), 1)[0];
|
|
const r24 = env30824[6];
|
|
const containerIndex = r23.containerIndex;
|
|
r6[a0.order] = {
|
|
containerIndex,
|
|
itemIndex: a0.itemIndex,
|
|
itemType: a0.itemType
|
|
};
|
|
const r30 = env30824[3];
|
|
if (r30 == null ? void 0 : r30.delete(containerIndex)) {
|
|
env30824[5] = true;
|
|
}
|
|
}
|
|
};
|
|
for (const item5 of a0) {
|
|
_loop2(item5);
|
|
}
|
|
};
|
|
const assignFromPool = (a0, a1, a2) => {
|
|
if (env30824[0]) {
|
|
(0, env30824[7])(a0, a1, (a0, a1) => a1 !== void 0 && a0 === a1);
|
|
}
|
|
const r11 = env30824[7];
|
|
r11(a0, a1, (a0) => a0 === void 0);
|
|
if (a2) {
|
|
r11(a0, a1, () => true);
|
|
}
|
|
};
|
|
assignFromPool(r24, r23, true);
|
|
assignFromPool(r21, r20, false);
|
|
for (const item5 of r19) {
|
|
const r124 = item5;
|
|
if (!array[item5.order]) {
|
|
const r128 = +r110;
|
|
r110 = r128 + 1;
|
|
if (r124.isSticky) {
|
|
stickyContainerPool.add(r128);
|
|
}
|
|
assign(r124, r128);
|
|
}
|
|
}
|
|
if (env30824[5]) {
|
|
a4.length = 0;
|
|
if (r12) {
|
|
for (const item6 of r12) {
|
|
a4.push(item6);
|
|
}
|
|
}
|
|
}
|
|
if (r3[31]) {
|
|
let numContainersPooled = (0, r3[21])(a0, "numContainersPooled");
|
|
if (numContainersPooled == null) {
|
|
numContainersPooled = Number.POSITIVE_INFINITY;
|
|
}
|
|
if (r110 > numContainersPooled) {
|
|
console.warn("[legend-list] No unused container available, so creating one on demand. This can be a minor performance issue and is likely caused by the estimatedItemSize being too large. Consider decreasing estimatedItemSize.", {
|
|
debugInfo: {
|
|
numContainers,
|
|
numContainersPooled,
|
|
numNeeded: length,
|
|
stillNeeded: r110 - numContainers
|
|
}
|
|
});
|
|
}
|
|
}
|
|
return array;
|
|
};
|
|
}
|
|
function $mk110490($env) {
|
|
return function handleStickyRecycling(a0, a1, a2, a3, a4, a5, a6) {
|
|
let r109;
|
|
const r33 = $env;
|
|
const state14 = a0.state;
|
|
for (const item5 of state14.stickyContainerPool) {
|
|
const r55 = item5;
|
|
const r59 = (0, r33[21])(a0, `containerItemKey${item5}`);
|
|
const r61 = r59 ? state14.indexByKey.get(r59) : void 0;
|
|
if (r61 !== void 0 && !a6(r61)) {
|
|
const r69 = a1.indexOf(r61);
|
|
if (r69 !== -1) {
|
|
if (r69 >= a4 - 1 && r69 <= a4 + 1) {
|
|
continue;
|
|
}
|
|
const r86 = a1[r69 + 1];
|
|
let r88 = false;
|
|
if (r86) {
|
|
const r120 = state14.positions[r86];
|
|
r88 = r120 !== void 0 && a2 > r120 + 2 * a3;
|
|
} else {
|
|
const r91 = state14.idCache[r61];
|
|
const r95 = r91 ?? (0, r33[49])(state14, r61);
|
|
if (r95) {
|
|
const r99 = state14.positions[r61];
|
|
const r103 = state14.sizes.get(r95);
|
|
if (r103 != null) {
|
|
r109 = r103;
|
|
} else {
|
|
const r105 = r33[58];
|
|
r109 = r105(a0, r95, r61, state14.props.data[r61]);
|
|
}
|
|
r88 = r99 !== void 0 && a2 > r99 + r109 + 3 * a3;
|
|
}
|
|
}
|
|
if (r88) {
|
|
a5.push(r55);
|
|
}
|
|
} else {
|
|
const stickyContainerPool = state14.stickyContainerPool;
|
|
stickyContainerPool.delete(r55);
|
|
(0, r33[22])(a0, `containerSticky${r55}`, false);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk110491($env) {
|
|
return function setDidLayout(a0) {
|
|
const r2 = $env;
|
|
a0.state.queuedInitialLayout = true;
|
|
(0, r2[42])(a0);
|
|
(0, r2[47])(a0, {
|
|
didLayout: true
|
|
});
|
|
};
|
|
}
|
|
function $mk110492($env) {
|
|
return function handleInitialScrollLayoutReady(a0) {
|
|
let env30825 = {
|
|
$parent: $env
|
|
};
|
|
env30825[0] = a0;
|
|
if (a0.state.initialScroll) {
|
|
const r10 = $env;
|
|
(0, r10[76])(a0, {
|
|
forceScroll: true
|
|
});
|
|
const initialScrollSession = a0.state.initialScrollSession;
|
|
if (initialScrollSession?.kind !== "offset") {
|
|
requestAnimationFrame(() => (0, env30825.$parent[76])(env30825[0], {
|
|
forceScroll: true
|
|
}));
|
|
}
|
|
let env30826;
|
|
const r20 = env30826 = {
|
|
$parent: $env
|
|
};
|
|
env30826[0] = a0;
|
|
const scrollingTo2 = a0.state.scrollingTo;
|
|
if (scrollingTo2?.isInitialScroll && !scrollingTo2.animated && (0, r10[62])(a0, scrollingTo2).isAtResolvedTarget) {
|
|
a0.state.animFrameCheckFinishedScroll = requestAnimationFrame($mk95167(r20));
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk110497($env) {
|
|
return (a0, a1, a2, a3) => {
|
|
(0, $env[3])({
|
|
height: a3,
|
|
width: a2,
|
|
x: a0,
|
|
y: a1
|
|
}, true);
|
|
};
|
|
}
|
|
function $mk110502($env) {
|
|
return (a0, a1) => {
|
|
const r4 = $env;
|
|
const r6 = r4[0];
|
|
const current5 = r6.current;
|
|
const r2 = current5 == null ? void 0 : current5.call(r6, r4[1].current(a0, a1));
|
|
return r2 ?? null;
|
|
};
|
|
}
|
|
function $mk110503($env) {
|
|
return (a0, a1, a2) => a0 !== void 0 ? a1 !== void 0 ? (0, $env[0])(a0, a1, a2) : void 0 : void 0;
|
|
}
|
|
function $mk110505() {
|
|
return () => true;
|
|
}
|
|
function $mk110506($env) {
|
|
return (a0) => {
|
|
const r5 = $env.$parent;
|
|
const r0 = r5[3] + 1;
|
|
r5[3] = r0;
|
|
const r6 = r5[2];
|
|
r6.pendingScrollToEnd = void 0;
|
|
const pendingScrollResolve2 = r6.pendingScrollResolve;
|
|
if (pendingScrollResolve2 != null) {
|
|
pendingScrollResolve2.call(r6);
|
|
}
|
|
const r18 = $env;
|
|
r6.pendingScrollResolve = a0;
|
|
(0, r5[6])(r0, a0, r18[0], r18[1]);
|
|
};
|
|
}
|
|
let r13, r140, peek$, useIsLastItem;
|
|
let createAnimatedValue, c10649_17, DebugRow, c10649_27, c10649_31, c10649_32, c10649_33, c10649_34, c10649_36, c10649_37, checkThreshold, c10649_53, c10649_66, getScrollVelocity, unstable_batchedUpdates, c10649_104, c10649_110, getComponent, c10649_113, c10649_114, c10649_115, noop, c10649_120, c10649_121, c10649_123, c10649_124, c10649_125, ScrollView, SnapWrapperInner, LayoutView, c10649_130, c10649_131, c10649_132, c10649_134, useCombinedRef, sortAsc, toCount, addIndex, c10649_141;
|
|
let env10649;
|
|
let env10650;
|
|
L5: {
|
|
env10649 = {};
|
|
env10649[0] = require;
|
|
env10649[1] = dependencyMap;
|
|
env10649[15] = function toNativeHorizontalOffset(a0, a1, a2) {
|
|
let r58;
|
|
if (a0) {
|
|
const props = a0?.props;
|
|
let r16 = !!props?.horizontal;
|
|
if (r16) {
|
|
let r7 = props?.rtl;
|
|
if (r7 == null) {
|
|
r7 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r16 = r7;
|
|
}
|
|
if (r16) {
|
|
const r13 = a2 !== void 0 && (Number.isFinite(a2) && (Number.isFinite(a0.scrollLength) && !(a2 <= a0.scrollLength))) ? Math.max(0, a2 - a0.scrollLength) : a2 !== void 0 ? Number.isFinite(a2) ? Number.isFinite(a0.scrollLength) ? 0 : void 0 : void 0 : void 0;
|
|
const r44 = r13 === void 0;
|
|
const r45 = r44 ? a1 : Math.max(0, Math.min(r13, a1));
|
|
const horizontalRTLScrollType = a0?.horizontalRTLScrollType;
|
|
const r56 = horizontalRTLScrollType ?? "inverted";
|
|
if (r56 === "negative") {
|
|
r58 = r45 !== 0 ? -r45 : 0;
|
|
} else {
|
|
r58 = r45;
|
|
if (r56 === "inverted") {
|
|
let r59 = r45;
|
|
if (!r44) {
|
|
const r12 = r13 - r45;
|
|
r59 = r44 ? r12 : Math.max(0, Math.min(r13, r12));
|
|
}
|
|
r58 = r59;
|
|
}
|
|
}
|
|
return r58;
|
|
}
|
|
}
|
|
return a1;
|
|
};
|
|
env10649[19] = function StateProvider({ children }) {
|
|
const r5 = env10649[12];
|
|
return r5.createElement(c10649_17.Provider, {
|
|
value: (0, env10649[4])(r5.useState(() => {
|
|
const r15 = {
|
|
animatedScrollY: new env10649[11].Animated.Value(0),
|
|
columnWrapperStyle: void 0,
|
|
containerLayoutTriggers: new Map(),
|
|
contextNum: null,
|
|
listeners: null,
|
|
mapViewabilityAmountCallbacks: null,
|
|
mapViewabilityAmountValues: null,
|
|
mapViewabilityCallbacks: null,
|
|
mapViewabilityConfigStates: null,
|
|
mapViewabilityValues: null,
|
|
pendingContainerIds: void 0,
|
|
positionListeners: null,
|
|
scrollAxisGap: 0,
|
|
state: void 0,
|
|
values: null,
|
|
viewRefs: null
|
|
};
|
|
const contextNum = +env10649[18];
|
|
env10649[18] = contextNum + 1;
|
|
r15.contextNum = contextNum;
|
|
r15.listeners = new Map();
|
|
r15.mapViewabilityAmountCallbacks = new Map();
|
|
r15.mapViewabilityAmountValues = new Map();
|
|
r15.mapViewabilityCallbacks = new Map();
|
|
r15.mapViewabilityConfigStates = new Map();
|
|
r15.mapViewabilityValues = new Map();
|
|
r15.positionListeners = new Map();
|
|
r15.values = new Map([["alignItemsAtEndPadding", 0], ["containerLayoutEpoch", 0], ["stylePaddingTop", 0], ["headerSize", 0], ["numContainers", 0], ["activeStickyIndex", -1], ["isAtEnd", false], ["isAtStart", false], ["isNearEnd", false], ["isNearStart", false], ["isWithinMaintainScrollAtEndThreshold", false], ["adaptiveRender", "normal"], ["totalSize", 0], ["scrollAdjustPending", 0]]);
|
|
r15.viewRefs = new Map();
|
|
return r15;
|
|
}), 1)[0]
|
|
}, children);
|
|
};
|
|
env10649[20] = function listen$(a0, a1, a2) {
|
|
let env21546;
|
|
const r0 = env21546 = {};
|
|
env21546[0] = a2;
|
|
const listeners = a0.listeners;
|
|
const r11 = listeners.get(a1);
|
|
env21546[1] = r11;
|
|
let r2 = r11;
|
|
if (!r2) {
|
|
const set2 = new Set();
|
|
env21546[1] = set2;
|
|
listeners.set(a1, set2);
|
|
r2 = set2;
|
|
}
|
|
r2.add(a2);
|
|
return $mk95159(r0);
|
|
};
|
|
peek$ = function peek$(a0, a1) {
|
|
return a0.values.get(a1);
|
|
};
|
|
env10649[21] = peek$;
|
|
env10649[22] = function set$({ listeners, values }, a1, a2) {
|
|
if (values.get(a1) !== a2) {
|
|
values.set(a1, a2);
|
|
const r23 = listeners.get(a1);
|
|
if (r23) {
|
|
for (const item5 of r23) {
|
|
item5(a2);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[23] = function notifyPosition$(a0, a1, a2) {
|
|
const r18 = a0.positionListeners.get(a1);
|
|
if (r18) {
|
|
for (const item5 of r18) {
|
|
item5(a2);
|
|
}
|
|
}
|
|
};
|
|
env10649[24] = function getContentInsetEnd(a0, a1) {
|
|
let r9, r55;
|
|
const state14 = a0.state;
|
|
const props = state14.props;
|
|
const horizontal6 = props.horizontal;
|
|
let contentInset = props.contentInset;
|
|
if (contentInset == null) {
|
|
contentInset = state14.nativeContentInset;
|
|
}
|
|
if (horizontal6) {
|
|
let r4 = contentInset;
|
|
if (r4) {
|
|
const props2 = state14?.props;
|
|
let r20 = !!props2?.horizontal;
|
|
if (r20) {
|
|
let r10 = props2?.rtl;
|
|
if (r10 == null) {
|
|
r10 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r20 = r10;
|
|
}
|
|
r4 = r20 ? contentInset.left : contentInset.right;
|
|
}
|
|
if (!r4) {
|
|
r4 = 0;
|
|
}
|
|
r9 = r4;
|
|
} else {
|
|
r9 = contentInset?.bottom;
|
|
}
|
|
if (!r9) {
|
|
r9 = 0;
|
|
}
|
|
const r14 = a1 == null ? props.contentInsetEndAdjustment : a1;
|
|
const r32 = Math.max(0, r14 ?? 0);
|
|
const r36 = a0.values.get("anchoredEndSpaceSize");
|
|
const anchoredEndSpace2 = props.anchoredEndSpace;
|
|
const r40 = anchoredEndSpace2?.includeInEndInset ? r36 ? r36 : 0 : 0;
|
|
const contentInsetOverride = state14.contentInsetOverride;
|
|
const r43 = contentInsetOverride ?? void 0;
|
|
const r44 = r9 + r32;
|
|
if (r43) {
|
|
const r48 = {
|
|
bottom: 0,
|
|
left: 0,
|
|
right: 0,
|
|
...contentInset,
|
|
...r43
|
|
};
|
|
const r53 = Math;
|
|
if (horizontal6) {
|
|
const props3 = state14?.props;
|
|
let r61 = !!props3?.horizontal;
|
|
if (r61) {
|
|
let r63 = props3?.rtl;
|
|
if (r63 == null) {
|
|
r63 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r61 = r63;
|
|
}
|
|
r55 = (r61 ? r48.left : r48.right) || 0;
|
|
} else {
|
|
r55 = r48.bottom;
|
|
}
|
|
if (!r55) {
|
|
r55 = 0;
|
|
}
|
|
return r53.max(r55 + r32, r40);
|
|
}
|
|
return Math.max(r44, r40);
|
|
};
|
|
env10649[25] = function getContentSize(a0) {
|
|
const { values, state: state14 } = a0;
|
|
const r6 = values.get("stylePaddingTop") || 0;
|
|
const r4 = state14.props.stylePaddingBottom || 0;
|
|
const r5 = values.get("alignItemsAtEndPadding") || 0;
|
|
const r7 = values.get("headerSize") || 0;
|
|
const r18 = values.get("footerSize") || 0;
|
|
let r21 = (0, env10649[24])(a0);
|
|
const r22 = r7 + r18;
|
|
let pendingTotalSize = state14.pendingTotalSize;
|
|
if (pendingTotalSize == null) {
|
|
pendingTotalSize = state14.totalSize;
|
|
}
|
|
if (pendingTotalSize == null) {
|
|
pendingTotalSize = values.get("totalSize");
|
|
}
|
|
const r29 = r22 + pendingTotalSize + r6 + r5 + r4;
|
|
if (!r21) {
|
|
r21 = 0;
|
|
}
|
|
return r29 + r21;
|
|
};
|
|
env10649[28] = function createContainerItemMetadata(a0, a1, a2, a3) {
|
|
return {
|
|
dataChangeEpoch: a0.dataChangeEpoch,
|
|
getFixedItemSize: a0.props.getFixedItemSize,
|
|
getItemType: a0.props.getItemType,
|
|
itemData: a2,
|
|
itemIndex: a1,
|
|
itemType: a3
|
|
};
|
|
};
|
|
env10649[29] = function resolveContainerItemMetadata(a0, a1, a2, a3) {
|
|
const props = a0.props;
|
|
const { getFixedItemSize, getItemType } = props;
|
|
let r13 = a0.containerItemMetadata.get(a1);
|
|
if (!(r13?.dataChangeEpoch === a0.dataChangeEpoch && (r13.getItemType === getItemType && (r13.itemData === a3 && r13.itemIndex === a2)))) {
|
|
let itemType2 = void 0;
|
|
if (getItemType) {
|
|
const r19 = getItemType(a3, a2);
|
|
itemType2 = r19 ?? "";
|
|
}
|
|
const r23 = {
|
|
dataChangeEpoch: a0.dataChangeEpoch,
|
|
getFixedItemSize: a0.props.getFixedItemSize,
|
|
getItemType: a0.props.getItemType,
|
|
itemData: a3,
|
|
itemIndex: a2,
|
|
itemType: itemType2
|
|
};
|
|
a0.containerItemMetadata.set(a1, r23);
|
|
r13 = r23;
|
|
}
|
|
if (r13.getFixedItemSize !== getFixedItemSize) {
|
|
r13.didResolveFixedItemSize = false;
|
|
r13.fixedItemSize = void 0;
|
|
r13.getFixedItemSize = getFixedItemSize;
|
|
}
|
|
if (getFixedItemSize && !r13.didResolveFixedItemSize) {
|
|
const itemType = r13.itemType;
|
|
r13.fixedItemSize = getFixedItemSize(a3, a2, itemType ?? "");
|
|
r13.didResolveFixedItemSize = true;
|
|
}
|
|
return r13;
|
|
};
|
|
env10649[30] = function invalidateContainerFixedItemSizes(a0) {
|
|
for (const item5 of a0.containerItemMetadata.values()) {
|
|
item5.didResolveFixedItemSize = false;
|
|
item5.fixedItemSize = void 0;
|
|
}
|
|
};
|
|
env10649[35] = function ensureInitialScrollSessionCompletion(a0, kind3) {
|
|
if (kind3 === void 0) {
|
|
const initialScrollSession = a0.initialScrollSession;
|
|
const kind = initialScrollSession?.kind;
|
|
kind3 = kind ?? "bootstrap";
|
|
}
|
|
if (a0.initialScrollSession) {
|
|
if (a0.initialScrollSession.kind !== kind3) {
|
|
const bootstrap2 = a0.initialScrollSession.kind === "bootstrap" ? a0.initialScrollSession.bootstrap : void 0;
|
|
const completion2 = a0.initialScrollSession.completion;
|
|
const previousDataLength2 = a0.initialScrollSession.previousDataLength;
|
|
a0.initialScrollSession = kind3 === "offset" ? {
|
|
completion: completion2,
|
|
kind: kind3,
|
|
previousDataLength: previousDataLength2
|
|
} : {
|
|
bootstrap: bootstrap2,
|
|
completion: completion2,
|
|
kind: kind3,
|
|
previousDataLength: previousDataLength2
|
|
};
|
|
}
|
|
} else {
|
|
const r14 = {
|
|
completion: {},
|
|
kind: kind3,
|
|
previousDataLength: 0
|
|
};
|
|
const { bootstrap, completion, kind: kind2, previousDataLength } = r14;
|
|
a0.initialScrollSession = kind2 === "offset" ? {
|
|
completion,
|
|
kind: kind2,
|
|
previousDataLength
|
|
} : {
|
|
bootstrap,
|
|
completion,
|
|
kind: kind2,
|
|
previousDataLength
|
|
};
|
|
}
|
|
const initialScrollSession2 = a0.initialScrollSession;
|
|
if (initialScrollSession2.completion == null) {
|
|
initialScrollSession2.completion = {};
|
|
}
|
|
return a0.initialScrollSession.completion;
|
|
};
|
|
env10649[38] = function setInitialScrollSession(a0, r3 = {}) {
|
|
const initialScrollSession = a0.initialScrollSession;
|
|
let kind = r3.kind;
|
|
if (kind == null) {
|
|
kind = initialScrollSession?.kind;
|
|
}
|
|
const completion = initialScrollSession?.completion;
|
|
let r10 = initialScrollSession?.kind === "bootstrap" ? initialScrollSession.bootstrap : void 0;
|
|
let bootstrap3 = void 0;
|
|
if (kind === "bootstrap") {
|
|
const bootstrap = r3.bootstrap;
|
|
let r16 = void 0;
|
|
if (bootstrap !== null) {
|
|
const bootstrap2 = r3.bootstrap;
|
|
if (bootstrap2 != null) {
|
|
r10 = bootstrap2;
|
|
}
|
|
r16 = r10;
|
|
}
|
|
bootstrap3 = r16;
|
|
}
|
|
if (kind) {
|
|
if (!a0.initialScroll && !bootstrap3 && !(completion?.didDispatchNativeScroll || completion?.didRetrySilentInitialScroll || completion?.watchdog)) {
|
|
a0.initialScrollSession = void 0;
|
|
return void 0;
|
|
}
|
|
let previousDataLength = r3.previousDataLength;
|
|
if (previousDataLength == null) {
|
|
previousDataLength = initialScrollSession?.previousDataLength;
|
|
}
|
|
const previousDataLength2 = previousDataLength ?? 0;
|
|
a0.initialScrollSession = kind === "offset" ? {
|
|
completion,
|
|
kind,
|
|
previousDataLength: previousDataLength2
|
|
} : {
|
|
bootstrap: bootstrap3,
|
|
completion,
|
|
kind,
|
|
previousDataLength: previousDataLength2
|
|
};
|
|
return a0.initialScrollSession;
|
|
}
|
|
a0.initialScrollSession = void 0;
|
|
};
|
|
env10649[40] = function resetSharedEdgeGateIfOutsideHysteresis(a0) {
|
|
const state14 = a0.state;
|
|
if (state14.edgeReachedGate) {
|
|
const r16 = (0, env10649[25])(a0);
|
|
const r21 = r16 - state14.scroll - state14.scrollLength - (0, env10649[24])(a0);
|
|
const r5 = r16 < state14.scrollLength;
|
|
const r26 = state14.props.onStartReachedThreshold * state14.scrollLength;
|
|
const r30 = state14.props.onEndReachedThreshold * state14.scrollLength;
|
|
const r33 = Math.abs(state14.scroll);
|
|
let r3 = r26 > 0 && r33 >= 1.3 * r26 || r26 <= 0 && r33 > 0;
|
|
const r37 = Math.abs(r21);
|
|
let r4 = !r5;
|
|
let r38 = (r5 ? r4 : r30 > 0) && r37 >= 1.3 * r30;
|
|
if (!r38) {
|
|
if (!r5) {
|
|
r4 = r30 <= 0;
|
|
}
|
|
if (r4) {
|
|
r4 = r37 > 0;
|
|
}
|
|
r38 = r4;
|
|
}
|
|
if (r3) {
|
|
r3 = r38;
|
|
}
|
|
if (r3) {
|
|
state14.edgeReachedGate = void 0;
|
|
}
|
|
}
|
|
};
|
|
env10649[41] = function hasActiveInitialScroll(a0) {
|
|
return !!a0?.initialScroll && !a0.didFinishInitialScroll;
|
|
};
|
|
env10649[42] = function checkAtBottom(a0, c21548_1, c21548_2) {
|
|
let c21548_0 = a0;
|
|
const state = a0.state;
|
|
if (state) {
|
|
const { queuedInitialLayout, scrollLength, scroll: scroll2, maintainingScrollAtEnd: maintainingScrollAtEnd2, props } = state;
|
|
const { maintainScrollAtEndThreshold, onEndReachedThreshold } = props;
|
|
const contentSize = (0, env10649[25])(a0);
|
|
(0, env10649[40])(a0);
|
|
if (contentSize > 0 && queuedInitialLayout) {
|
|
const r35 = contentSize - scroll2 - scrollLength - (0, env10649[24])(a0);
|
|
const r36 = contentSize < scrollLength;
|
|
const r37 = env10649[22];
|
|
r37(a0, "isAtEnd", r36 ? r36 : r35 <= 1);
|
|
r37(a0, "isNearEnd", r36 ? r36 : r35 <= onEndReachedThreshold * scrollLength);
|
|
r37(a0, "isWithinMaintainScrollAtEndThreshold", r36 || r35 <= maintainScrollAtEndThreshold * scrollLength);
|
|
if (!(!!(state == null ? void 0 : state.initialScroll) && !state.didFinishInitialScroll || maintainingScrollAtEnd2)) {
|
|
const r53 = onEndReachedThreshold * scrollLength;
|
|
const { isEndReached, endReachedSnapshot } = state;
|
|
const data3 = state.props.data;
|
|
state.isEndReached = checkThreshold(r35, r36, r53, isEndReached, endReachedSnapshot, {
|
|
contentSize,
|
|
dataLength: data3?.length,
|
|
scrollPosition: scroll2
|
|
}, (a0) => {
|
|
const edgeReachedGate = c21548_0.state.edgeReachedGate;
|
|
if ((edgeReachedGate ? c21548_1 === "end" : !edgeReachedGate) || !!c21548_2) {
|
|
c21548_0.state.edgeReachedGate = "closed";
|
|
const props = state.props;
|
|
const onEndReached = props.onEndReached;
|
|
if (onEndReached != null) {
|
|
onEndReached.call(props, {
|
|
distanceFromEnd: a0
|
|
});
|
|
}
|
|
}
|
|
}, (a0) => {
|
|
state.endReachedSnapshot = a0;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[43] = function checkThresholds(a0, a1) {
|
|
const r4 = !a0.state.edgeReachedGate;
|
|
(0, env10649[42])(a0, a1, r4);
|
|
let c21549_0 = a0;
|
|
let c21549_1 = a1;
|
|
let c21549_2 = r4;
|
|
const state2 = a0?.state;
|
|
if (state2) {
|
|
let isStartReached = state2.isStartReached;
|
|
const props = state2.props;
|
|
const { data: data3, onStartReachedThreshold } = props;
|
|
const { scroll: scroll2, scrollLength, startReachedSnapshot, totalSize } = state2;
|
|
const length = data3.length;
|
|
const r34 = onStartReachedThreshold * scrollLength;
|
|
(0, env10649[40])(a0);
|
|
if (isStartReached) {
|
|
isStartReached = r34 > 0;
|
|
}
|
|
if (isStartReached) {
|
|
isStartReached = scroll2 > r34;
|
|
}
|
|
if (isStartReached) {
|
|
isStartReached = startReachedSnapshot;
|
|
}
|
|
if (isStartReached) {
|
|
isStartReached = startReachedSnapshot.contentSize !== totalSize || startReachedSnapshot.dataLength !== length;
|
|
}
|
|
if (isStartReached) {
|
|
state2.isStartReached = false;
|
|
state2.startReachedSnapshot = void 0;
|
|
}
|
|
const r41 = env10649[22];
|
|
r41(a0, "isAtStart", scroll2 <= 1);
|
|
r41(a0, "isNearStart", scroll2 <= r34);
|
|
if (!(!!(state2 == null ? void 0 : state2.initialScroll) && !state2.didFinishInitialScroll || state2.scrollingTo)) {
|
|
state2.isStartReached = checkThreshold(scroll2, false, r34, state2.isStartReached, startReachedSnapshot, {
|
|
contentSize: totalSize,
|
|
dataLength: length,
|
|
scrollPosition: scroll2
|
|
}, (a0) => {
|
|
const edgeReachedGate = c21549_0.state.edgeReachedGate;
|
|
if ((edgeReachedGate ? c21549_1 === "start" : !edgeReachedGate) || !!c21549_2) {
|
|
c21549_0.state.edgeReachedGate = "closed";
|
|
const props = state2.props;
|
|
const onStartReached = props.onStartReached;
|
|
if (onStartReached != null) {
|
|
onStartReached.call(props, {
|
|
distanceFromStart: a0
|
|
});
|
|
}
|
|
}
|
|
}, (a0) => {
|
|
state2.startReachedSnapshot = a0;
|
|
});
|
|
}
|
|
}
|
|
};
|
|
env10649[44] = function scheduleAdaptiveRenderExit(a0, a1) {
|
|
let c21550_2;
|
|
const { state: state3, state: state14 } = a0;
|
|
const timeoutAdaptiveRender = state14.timeoutAdaptiveRender;
|
|
if (timeoutAdaptiveRender !== void 0) {
|
|
clearTimeout(timeoutAdaptiveRender);
|
|
state14.timeouts.delete(timeoutAdaptiveRender);
|
|
state14.timeoutAdaptiveRender = void 0;
|
|
}
|
|
if (a1 <= 0) {
|
|
if (a0.values.get("adaptiveRender") !== "normal") {
|
|
(0, env10649[22])(a0, "adaptiveRender", "normal");
|
|
const adaptiveRender = a0.state.props.adaptiveRender;
|
|
const onChange = adaptiveRender?.onChange;
|
|
if (onChange != null) {
|
|
onChange.call(adaptiveRender, "normal", "scroll");
|
|
}
|
|
}
|
|
} else {
|
|
const timeoutAdaptiveRender2 = setTimeout(() => {
|
|
state3.timeouts.delete(c21550_2);
|
|
state3.timeoutAdaptiveRender = void 0;
|
|
if (a0.values.get("adaptiveRender") !== "normal") {
|
|
(0, env10649[22])(a0, "adaptiveRender", "normal");
|
|
const adaptiveRender = a0.state.props.adaptiveRender;
|
|
const onChange = adaptiveRender?.onChange;
|
|
if (onChange != null) {
|
|
onChange.call(adaptiveRender, "normal", "scroll");
|
|
}
|
|
}
|
|
}, a1);
|
|
c21550_2 = timeoutAdaptiveRender2;
|
|
state3.timeoutAdaptiveRender = timeoutAdaptiveRender2;
|
|
state3.timeouts.add(timeoutAdaptiveRender2);
|
|
}
|
|
};
|
|
env10649[45] = function resetAdaptiveRender(a0) {
|
|
const state14 = a0.state;
|
|
const timeoutAdaptiveRender = state14.timeoutAdaptiveRender;
|
|
if (timeoutAdaptiveRender !== void 0) {
|
|
clearTimeout(timeoutAdaptiveRender);
|
|
state14.timeouts.delete(timeoutAdaptiveRender);
|
|
state14.timeoutAdaptiveRender = void 0;
|
|
}
|
|
const adaptiveRender = a0.state.props.adaptiveRender;
|
|
const initialMode = adaptiveRender?.initialMode;
|
|
const r18 = initialMode ?? "normal";
|
|
if (a0.values.get("adaptiveRender") !== r18 && a0.values.get("adaptiveRender") !== r18) {
|
|
(0, env10649[22])(a0, "adaptiveRender", r18);
|
|
const adaptiveRender2 = a0.state.props.adaptiveRender;
|
|
const onChange = adaptiveRender2?.onChange;
|
|
if (onChange != null) {
|
|
onChange.call(adaptiveRender2, r18, "initial");
|
|
}
|
|
}
|
|
};
|
|
env10649[46] = function getEffectiveDrawDistance(a0, a1) {
|
|
let r16;
|
|
const drawDistance = a0.state.props.drawDistance;
|
|
const initialScroll2 = a0.state.initialScroll;
|
|
let r11 = initialScroll2 !== void 0;
|
|
if (r11) {
|
|
const viewPosition2 = initialScroll2.viewPosition;
|
|
r11 = (viewPosition2 ?? 0) > 0;
|
|
}
|
|
L9: {
|
|
if (a1 !== "visible-first") {
|
|
r16 = drawDistance;
|
|
if (a1 === "full") {
|
|
break L9;
|
|
}
|
|
const r20 = a0.values.get("readyToRender");
|
|
r16 = drawDistance;
|
|
if (r20) {
|
|
break L9;
|
|
}
|
|
r16 = r11 ? drawDistance : Math.min(drawDistance, 50);
|
|
} else {
|
|
r16 = Math.min(drawDistance, 50);
|
|
}
|
|
}
|
|
return r16;
|
|
};
|
|
env10649[47] = function setInitialRenderState(a0, { didLayout, didInitialScroll }) {
|
|
const state14 = a0.state;
|
|
const loadStartTime = state14.loadStartTime;
|
|
const onLoad = state14.props.onLoad;
|
|
if (didLayout) {
|
|
state14.didContainersLayout = true;
|
|
}
|
|
if (didInitialScroll) {
|
|
state14.didFinishInitialScroll = true;
|
|
}
|
|
if (Boolean(state14.didContainersLayout && state14.didFinishInitialScroll) && !a0.values.get("readyToRender")) {
|
|
const r25 = env10649[22];
|
|
r25(a0, "readyToRender", true);
|
|
if (a0.values.get("adaptiveRender") !== "normal") {
|
|
r25(a0, "adaptiveRender", "normal");
|
|
const adaptiveRender = a0.state.props.adaptiveRender;
|
|
const onChange = adaptiveRender?.onChange;
|
|
if (onChange != null) {
|
|
onChange.call(adaptiveRender, "normal", "ready");
|
|
}
|
|
}
|
|
if (state14.props.drawDistance > 50) {
|
|
let env21551;
|
|
const r45 = env21551 = {};
|
|
const state15 = a0.state;
|
|
env21551[0] = state15;
|
|
if (!(state15.props.drawDistance <= 50 || state15.queuedFullDrawDistancePrewarm !== void 0)) {
|
|
state15.queuedFullDrawDistancePrewarm = requestAnimationFrame($mk95164(r45));
|
|
}
|
|
}
|
|
if (!state14.didLoad) {
|
|
state14.didLoad = true;
|
|
if (onLoad) {
|
|
onLoad({
|
|
elapsedTimeInMs: Date.now() - loadStartTime
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[48] = function finishInitialScroll(a0, a1) {
|
|
const state4 = a0.state;
|
|
if (a1.resolvedOffset !== void 0) {
|
|
const resolvedOffset = a1.resolvedOffset;
|
|
state4.scroll = resolvedOffset;
|
|
state4.scrollPending = resolvedOffset;
|
|
state4.scrollPrev = resolvedOffset;
|
|
} else if (a1.syncObservedOffset) {
|
|
const initialScrollSession = state4.initialScrollSession;
|
|
if (initialScrollSession?.kind === "offset") {
|
|
const current5 = state4.refScroller.current;
|
|
const getCurrentScrollOffset = current5?.getCurrentScrollOffset;
|
|
const scroll2 = getCurrentScrollOffset == null ? void 0 : getCurrentScrollOffset.call(current5);
|
|
if (typeof scroll2 === "number" ? Number.isFinite(scroll2) : typeof scroll2 === "number") {
|
|
state4.scroll = scroll2;
|
|
state4.scrollPending = scroll2;
|
|
state4.scrollPrev = scroll2;
|
|
}
|
|
}
|
|
}
|
|
const complete = () => {
|
|
let resolvedOffset = a1.resolvedOffset;
|
|
if (resolvedOffset == null) {
|
|
resolvedOffset = state4.scrollPending;
|
|
}
|
|
if (resolvedOffset == null) {
|
|
state4.scroll;
|
|
}
|
|
L13: {
|
|
c10649_37.clear(state4);
|
|
if (a1.preserveTarget && state4.initialScroll) {
|
|
state4.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
(0, env10649[38])(state4);
|
|
if (state4.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state4.timeoutPreservedInitialScrollClear);
|
|
state4.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
if (!a1.schedulePreservedTargetClear) {
|
|
break L13;
|
|
}
|
|
state4.timeoutPreservedInitialScrollClear = setTimeout(() => {
|
|
state4.timeoutPreservedInitialScrollClear = void 0;
|
|
let didFinishInitialScroll = state4.didFinishInitialScroll;
|
|
if (didFinishInitialScroll) {
|
|
const scrollingTo2 = state4.scrollingTo;
|
|
didFinishInitialScroll = !scrollingTo2?.isInitialScroll;
|
|
}
|
|
if (didFinishInitialScroll) {
|
|
didFinishInitialScroll = state4.initialScroll;
|
|
}
|
|
if (didFinishInitialScroll) {
|
|
if (state4.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state4.timeoutPreservedInitialScrollClear);
|
|
state4.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state4.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
state4.initialScroll = void 0;
|
|
(0, env10649[38])(state4);
|
|
}
|
|
}, 2000);
|
|
} else {
|
|
if (state4.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state4.timeoutPreservedInitialScrollClear);
|
|
state4.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state4.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
state4.initialScroll = void 0;
|
|
(0, env10649[38])(state4);
|
|
}
|
|
}
|
|
if (a1.recalculateItems) {
|
|
const state14 = a0.state;
|
|
const props = state14.props;
|
|
if (props?.data) {
|
|
const triggerCalculateItemsInView = state14.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(state14, {
|
|
forceFullItemPositions: true
|
|
});
|
|
}
|
|
}
|
|
(0, env10649[43])(a0);
|
|
}
|
|
(0, env10649[47])(a0, {
|
|
didInitialScroll: true
|
|
});
|
|
const onFinished2 = a1.onFinished;
|
|
if (onFinished2 != null) {
|
|
onFinished2.call(a1);
|
|
}
|
|
};
|
|
if (a1.waitForCompletionFrame) {
|
|
requestAnimationFrame(complete);
|
|
} else {
|
|
complete();
|
|
}
|
|
};
|
|
env10649[49] = function getId(a0, a1) {
|
|
const props = a0.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
if (data3) {
|
|
const r9 = a1 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a1], a1) : a1 : null;
|
|
a0.idCache[a1] = r9;
|
|
return r9;
|
|
}
|
|
return "";
|
|
};
|
|
env10649[50] = function updateContentMetricsState(a0) {
|
|
const r6 = a0.values.get("alignItemsAtEndPadding") || 0;
|
|
const state14 = a0.state;
|
|
const alignItemsAtEndPaddingEnabled = state14.props.alignItemsAtEndPaddingEnabled;
|
|
let r18 = 0;
|
|
if (alignItemsAtEndPaddingEnabled) {
|
|
const horizontal6 = state14.props.horizontal;
|
|
r18 = 0;
|
|
if (!horizontal6) {
|
|
const r1 = state14.props.data.length > 0;
|
|
r18 = 0;
|
|
if (r1) {
|
|
const r25 = state14.scrollLength > 0;
|
|
r18 = 0;
|
|
if (r25) {
|
|
const r9 = Math;
|
|
const scrollLength = state14.scrollLength;
|
|
const { state: state15, values } = a0;
|
|
const r32 = (values.get("headerSize") || 0) + (values.get("footerSize") || 0);
|
|
let pendingTotalSize = state15.pendingTotalSize;
|
|
if (pendingTotalSize == null) {
|
|
pendingTotalSize = state15.totalSize;
|
|
}
|
|
if (pendingTotalSize == null) {
|
|
pendingTotalSize = values.get("totalSize");
|
|
}
|
|
r18 = r9.max(0, scrollLength - (r32 + (pendingTotalSize ?? 0) + (state15.props.stylePaddingTop || 0) + (state15.props.stylePaddingBottom || 0)) - (0, env10649[24])(a0));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (r6 !== r18) {
|
|
(0, env10649[22])(a0, "alignItemsAtEndPadding", r18);
|
|
}
|
|
};
|
|
env10649[51] = function setSize(a0, a1, a2, r1 = true) {
|
|
let pendingTotalSize;
|
|
const sizes = a0.state.sizes;
|
|
const r10 = sizes.get(a1);
|
|
const r17 = r10 !== void 0 ? a2 - r10 : a2;
|
|
L23: {
|
|
if (r17 !== 0) {
|
|
if (r1 === void 0) {
|
|
r1 = true;
|
|
}
|
|
const state14 = a0.state;
|
|
const { totalSize, totalSize: totalSize2 } = state14;
|
|
if (a1 === null) {
|
|
const timeoutSetPaddingTop = state14.timeoutSetPaddingTop;
|
|
pendingTotalSize = r17;
|
|
if (timeoutSetPaddingTop) {
|
|
clearTimeout(state14.timeoutSetPaddingTop);
|
|
state14.timeoutSetPaddingTop = void 0;
|
|
pendingTotalSize = r17;
|
|
}
|
|
} else {
|
|
pendingTotalSize = totalSize2 + r17;
|
|
}
|
|
if (totalSize !== pendingTotalSize) {
|
|
if (!c10649_27 && state14.initialScroll && pendingTotalSize < totalSize) {
|
|
state14.pendingTotalSize = pendingTotalSize;
|
|
break L23;
|
|
}
|
|
state14.pendingTotalSize = void 0;
|
|
state14.totalSize = pendingTotalSize;
|
|
if (r1) {
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize);
|
|
}
|
|
(0, env10649[50])(a0);
|
|
} else if (r1 && a0.values.get("totalSize") !== pendingTotalSize) {
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize);
|
|
}
|
|
}
|
|
}
|
|
sizes.set(a1, a2);
|
|
};
|
|
env10649[52] = function isFunction(a0) {
|
|
return typeof a0 === "function";
|
|
};
|
|
env10649[54] = function isNullOrUndefined(a0) {
|
|
return a0 == null;
|
|
};
|
|
env10649[55] = function extractPadding(a0, a1, a2) {
|
|
const r2 = a2 === "Left";
|
|
let r5 = !r2 && a2 !== "Right" ? a0.paddingVertical : a0.paddingHorizontal;
|
|
const r14 = a0[`padding${a2}`];
|
|
if (r14 != null) {
|
|
r5 = r14;
|
|
}
|
|
if (r5 == null) {
|
|
r5 = a0.padding;
|
|
}
|
|
const r15 = r5 ?? 0;
|
|
let r17 = !r2 && a2 !== "Right" ? a1.paddingVertical : a1.paddingHorizontal;
|
|
const r21 = a1[`padding${a2}`];
|
|
if (r21 != null) {
|
|
r17 = r21;
|
|
}
|
|
if (r17 == null) {
|
|
r17 = a1.padding;
|
|
}
|
|
return r15 + (r17 ?? 0);
|
|
};
|
|
env10649[56] = function findContainerId(a0, a1) {
|
|
const state14 = a0.state;
|
|
const containerItemKeys = state14?.containerItemKeys;
|
|
const r17 = containerItemKeys == null ? void 0 : containerItemKeys.get(a1);
|
|
if (r17 !== void 0) {
|
|
return r17;
|
|
}
|
|
const r20 = a0.values.get("numContainers");
|
|
let r0 = 0;
|
|
while (r0 < r20) {
|
|
const r26 = a0.values.get(`containerItemKey${r0}`);
|
|
const r1 = r0;
|
|
if (r26 === a1) {
|
|
return r1;
|
|
}
|
|
r0 = r1 + 1;
|
|
}
|
|
return -1;
|
|
};
|
|
env10649[57] = function getKnownOrFixedItemSize(a0, a1) {
|
|
const state14 = a0.state;
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r6 = "";
|
|
if (data3) {
|
|
const r14 = a1 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a1], a1) : a1 : null;
|
|
state14.idCache[a1] = r14;
|
|
r6 = r14;
|
|
}
|
|
const r9 = a0.state.props.data[a1];
|
|
const state15 = a0.state;
|
|
const props2 = state15.props;
|
|
const { getFixedItemSize, getItemType } = props2;
|
|
const r25 = r6 ? state15.sizesKnown.get(r6) : void 0;
|
|
let r28 = r25;
|
|
if (r28 === void 0) {
|
|
r28 = r25;
|
|
if (r6) {
|
|
r28 = r25;
|
|
if (getFixedItemSize) {
|
|
let r29 = "";
|
|
if (getItemType) {
|
|
const r30 = getItemType(r9, a1);
|
|
r29 = r30 ?? "";
|
|
}
|
|
const r32 = getFixedItemSize(r9, a1, r29);
|
|
r28 = r25;
|
|
if (r32 !== void 0) {
|
|
const r34 = r32 + a0.scrollAxisGap;
|
|
state15.sizesKnown.set(r6, r34);
|
|
r28 = r34;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return r28;
|
|
};
|
|
env10649[58] = function getItemSize(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
const state14 = a0.state;
|
|
const { sizes, averageSizes, props } = state14;
|
|
const { estimatedItemSize, getItemType } = props;
|
|
const scrollingTo2 = state14.scrollingTo;
|
|
const r33 = state14.sizesKnown.get(a1);
|
|
if (r33 !== void 0) {
|
|
return r33;
|
|
}
|
|
const r35 = sizes.get(a1);
|
|
if (a5 && r35 !== void 0) {
|
|
return r35;
|
|
}
|
|
const state15 = a0.state;
|
|
const props2 = state15.props;
|
|
const { getFixedItemSize, getItemType: getItemType2 } = props2;
|
|
const r37 = a1 ? state15.sizesKnown.get(a1) : void 0;
|
|
let r40 = r37;
|
|
if (r40 === void 0) {
|
|
r40 = r37;
|
|
if (a1) {
|
|
r40 = r37;
|
|
if (getFixedItemSize) {
|
|
let r19 = a7?.itemType;
|
|
if (r19 == null) {
|
|
let r23 = "";
|
|
if (getItemType2) {
|
|
const r41 = getItemType2(a3, a2);
|
|
r23 = r41 ?? "";
|
|
}
|
|
r19 = r23;
|
|
}
|
|
const r45 = a7?.didResolveFixedItemSize ? a7.fixedItemSize : getFixedItemSize(a3, a2, r19);
|
|
r40 = r37;
|
|
if (r45 !== void 0) {
|
|
const r47 = r45 + a0.scrollAxisGap;
|
|
state15.sizesKnown.set(a1, r47);
|
|
r40 = r47;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (r40 !== void 0) {
|
|
(0, env10649[51])(a0, a1, r40, a6);
|
|
return r40;
|
|
}
|
|
let r54 = a7?.itemType;
|
|
if (r54 == null) {
|
|
let r56 = "";
|
|
if (getItemType) {
|
|
const r57 = getItemType(a3, a2);
|
|
r56 = r57 ?? "";
|
|
}
|
|
r54 = r56;
|
|
}
|
|
let r60 = r40;
|
|
if (a4) {
|
|
r60 = r40;
|
|
if (!scrollingTo2) {
|
|
const r61 = averageSizes[r54];
|
|
const avg = r61?.avg;
|
|
r60 = avg !== void 0 ? Math.floor(8 * avg) / 8 : r40;
|
|
}
|
|
}
|
|
const r67 = r60 === void 0;
|
|
if (r67 && r35 !== void 0) {
|
|
return r35;
|
|
}
|
|
let r68 = r60;
|
|
if (r67) {
|
|
r68 = r60;
|
|
if (a4) {
|
|
r68 = r60;
|
|
if (scrollingTo2) {
|
|
const averageSizeSnapshot = scrollingTo2.averageSizeSnapshot;
|
|
const r71 = averageSizeSnapshot == null ? void 0 : averageSizeSnapshot[r54];
|
|
r68 = r71 !== void 0 ? Math.floor(8 * r71) / 8 : r60;
|
|
}
|
|
}
|
|
}
|
|
if (r68 === void 0) {
|
|
r68 = estimatedItemSize + a0.scrollAxisGap;
|
|
}
|
|
(0, env10649[51])(a0, a1, r68, a6);
|
|
return r68;
|
|
};
|
|
env10649[59] = function calculateOffsetWithOffsetPosition(a0, a1, a2) {
|
|
const state14 = a0.state;
|
|
const { index: index3, viewOffset, viewPosition: viewPosition2 } = a2;
|
|
const r24 = viewOffset ? a1 - viewOffset : a1;
|
|
const r2 = index3 !== void 0;
|
|
let r25 = r24;
|
|
if (r2) {
|
|
const r36 = (a0.values.get("stylePaddingTop") || 0) + (a0.values.get("alignItemsAtEndPadding") || 0) + (a0.values.get("headerSize") || 0);
|
|
r25 = r36 ? r24 + r36 : r24;
|
|
}
|
|
let r37 = r25;
|
|
if (viewPosition2 !== void 0) {
|
|
r37 = r25;
|
|
if (r2) {
|
|
const length = state14.props.data.length;
|
|
if (length === 0) {
|
|
return r25;
|
|
}
|
|
const r41 = index3 < 0 || index3 >= length;
|
|
const estimatedItemSize = state14.props.estimatedItemSize;
|
|
let r45 = estimatedItemSize ?? 0;
|
|
if (!r41) {
|
|
const r15 = env10649[58];
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r48 = "";
|
|
if (data3) {
|
|
const r50 = index3 < data3.length ? keyExtractor2 ? keyExtractor2(data3[index3], index3) : index3 : null;
|
|
state14.idCache[index3] = r50;
|
|
r48 = r50;
|
|
}
|
|
r45 = r15(a0, r48, index3, state14.props.data[index3]);
|
|
}
|
|
const r62 = r25 - viewPosition2 * (state14.scrollLength - (0, env10649[24])(a0) - r45);
|
|
r37 = r41 ? r62 : index3 === state14.props.data.length - 1 ? r62 + (a0.values.get("footerSize") || 0) : r62;
|
|
}
|
|
}
|
|
return r37;
|
|
};
|
|
env10649[60] = function finishScrollTo(a0) {
|
|
let scrollingTo3;
|
|
const state14 = a0.state;
|
|
const scrollingTo2 = state14?.scrollingTo;
|
|
L25: {
|
|
if (scrollingTo2) {
|
|
let pendingScrollResolve;
|
|
L14: {
|
|
pendingScrollResolve = state14.pendingScrollResolve;
|
|
state14.pendingScrollResolve = void 0;
|
|
scrollingTo3 = state14.scrollingTo;
|
|
state14.scrollHistory.length = 0;
|
|
state14.scrollingTo = void 0;
|
|
state14.scrollTargetPinnedRange = void 0;
|
|
if (state14.pendingTotalSize !== void 0) {
|
|
const pendingTotalSize = state14.pendingTotalSize;
|
|
const state15 = a0.state;
|
|
const totalSize = state15.totalSize;
|
|
state15.totalSize;
|
|
if (state15.timeoutSetPaddingTop) {
|
|
clearTimeout(state15.timeoutSetPaddingTop);
|
|
state15.timeoutSetPaddingTop = void 0;
|
|
}
|
|
if (totalSize !== pendingTotalSize) {
|
|
if (!c10649_27 && state15.initialScroll && pendingTotalSize < totalSize) {
|
|
state15.pendingTotalSize = pendingTotalSize;
|
|
break L14;
|
|
}
|
|
state15.pendingTotalSize = void 0;
|
|
state15.totalSize = pendingTotalSize;
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize);
|
|
(0, env10649[50])(a0);
|
|
} else if (a0.values.get("totalSize") !== pendingTotalSize) {
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize);
|
|
}
|
|
}
|
|
}
|
|
state14.scrollAdjustHandler.commitPendingAdjust(scrollingTo3);
|
|
if (!scrollingTo3.isInitialScroll && !state14.initialScroll) {
|
|
const state16 = a0.state;
|
|
const props = state16.props;
|
|
if (props?.data) {
|
|
const triggerCalculateItemsInView = state16.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(state16, {
|
|
forceFullItemPositions: true
|
|
});
|
|
}
|
|
}
|
|
(0, env10649[43])(a0);
|
|
if (pendingScrollResolve == null) {
|
|
break L25;
|
|
}
|
|
pendingScrollResolve();
|
|
break L25;
|
|
}
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
const kind = initialScrollSession?.kind;
|
|
let schedulePreservedTargetClear = !!scrollingTo3.isInitialScroll && !state14.clearPreservedInitialScrollOnNextFinish && state14.props.data.length > 0;
|
|
if (schedulePreservedTargetClear) {
|
|
const initialScroll2 = state14.initialScroll;
|
|
schedulePreservedTargetClear = initialScroll2?.viewPosition === 1;
|
|
}
|
|
const syncObservedOffset = kind === "offset";
|
|
env10649[48](a0, {
|
|
onFinished: () => {
|
|
if (pendingScrollResolve != null) {
|
|
pendingScrollResolve();
|
|
}
|
|
},
|
|
preserveTarget: syncObservedOffset && state14.props.data.length === 0 || schedulePreservedTargetClear,
|
|
recalculateItems: true,
|
|
schedulePreservedTargetClear,
|
|
syncObservedOffset,
|
|
waitForCompletionFrame: !!scrollingTo3.waitForInitialScrollCompletionFrame
|
|
});
|
|
return void 0;
|
|
}
|
|
}
|
|
};
|
|
env10649[61] = function shouldFinishInitialScrollWithoutNativeProgress(a0, a1) {
|
|
if (a1.isInitialScroll && !a1.animated && a0.didContainersLayout) {
|
|
const initialScrollSession = a0.initialScrollSession;
|
|
if (initialScrollSession?.kind === "bootstrap") {
|
|
return false;
|
|
}
|
|
let targetOffset2 = a1.targetOffset;
|
|
if (targetOffset2 == null) {
|
|
targetOffset2 = a1.offset;
|
|
}
|
|
let r19 = c10649_37.hasNonZeroTargetOffset(targetOffset2);
|
|
const r12 = targetOffset2;
|
|
if (r19) {
|
|
r19 = c10649_36.didDispatchNativeScroll(a0);
|
|
}
|
|
if (r19) {
|
|
r19 = !a0.hasScrolled;
|
|
}
|
|
let r23 = !r19;
|
|
if (!r19) {
|
|
const r25 = c10649_37.isAtZeroTargetOffset(r12) || Math.abs(a0.scroll - r12) > 1 || Math.abs(a0.scrollPending - r12) > 1;
|
|
let r37 = !r25;
|
|
if (!r25) {
|
|
let r40 = !!a1.waitForInitialScrollCompletionFrame;
|
|
if (!r40) {
|
|
const r42 = c10649_37.get(a0);
|
|
const targetOffset3 = r42?.targetOffset;
|
|
const didFinishInitialScroll = a0.didFinishInitialScroll;
|
|
r40 = didFinishInitialScroll ? !didFinishInitialScroll : c10649_37.hasNonZeroTargetOffset(targetOffset3);
|
|
}
|
|
r37 = r40;
|
|
}
|
|
r23 = r37;
|
|
}
|
|
return r23;
|
|
}
|
|
return false;
|
|
};
|
|
env10649[62] = function getResolvedScrollCompletionState(a0, a1) {
|
|
let r16;
|
|
const state14 = a0.state;
|
|
const scrollPending = state14.scrollPending;
|
|
const adjust = state14.scrollAdjustHandler.getAdjust();
|
|
const index3 = a1.index;
|
|
const r2 = a1.index === a0.state.props.data.length - 1 && a1.viewPosition === 1;
|
|
L23: {
|
|
if (r2) {
|
|
let r10 = index3 !== void 0;
|
|
if (r10) {
|
|
const r56 = env10649[59];
|
|
const state16 = a0.state;
|
|
if (r10) {
|
|
r10 = state16.positions[index3];
|
|
}
|
|
if (!r10) {
|
|
r10 = 0;
|
|
}
|
|
r16 = r56(a0, r10, a1);
|
|
break L23;
|
|
}
|
|
}
|
|
r16 = a1.targetOffset;
|
|
if (r16 == null) {
|
|
const r19 = a1.offset - (a1.viewOffset || 0);
|
|
const state15 = a0.state;
|
|
const r20 = (0, env10649[25])(a0);
|
|
const isFinite2 = Number.isFinite(r20);
|
|
let r38 = r19;
|
|
if (isFinite2) {
|
|
const isFinite3 = Number.isFinite(state15.scrollLength);
|
|
r38 = r19;
|
|
if (isFinite3) {
|
|
const lastLayout = state15.lastLayout;
|
|
r38 = r19;
|
|
if (lastLayout) {
|
|
const r46 = Math.max(0, r20 - state15.scrollLength);
|
|
const viewOffset = a1?.viewOffset;
|
|
r38 = Math.min(r19, r46 + (typeof viewOffset === "number" ? viewOffset < 0 ? -viewOffset : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
r16 = Math.max(0, r38);
|
|
}
|
|
}
|
|
const state17 = a0.state;
|
|
const r61 = env10649[25];
|
|
const r63 = r61(a0);
|
|
const isFinite4 = Number.isFinite(r63);
|
|
let r68 = r16;
|
|
if (isFinite4) {
|
|
const isFinite5 = Number.isFinite(state17.scrollLength);
|
|
r68 = r16;
|
|
if (isFinite5) {
|
|
const lastLayout2 = state17.lastLayout;
|
|
r68 = r16;
|
|
if (lastLayout2) {
|
|
const r78 = Math.max(0, r63 - state17.scrollLength);
|
|
const viewOffset2 = a1?.viewOffset;
|
|
r68 = Math.min(r16, r78 + (typeof viewOffset2 === "number" ? viewOffset2 < 0 ? -viewOffset2 : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
const clampedTargetOffset = Math.max(0, r68);
|
|
const state18 = a0.state;
|
|
const r91 = r61(a0);
|
|
const isFinite6 = Number.isFinite(r91);
|
|
let r95 = scrollPending;
|
|
if (isFinite6) {
|
|
const isFinite7 = Number.isFinite(state18.scrollLength);
|
|
r95 = scrollPending;
|
|
if (isFinite7) {
|
|
const lastLayout3 = state18.lastLayout;
|
|
r95 = scrollPending;
|
|
if (lastLayout3) {
|
|
const r105 = Math.max(0, r91 - state18.scrollLength);
|
|
const viewOffset3 = a1?.viewOffset;
|
|
r95 = Math.min(scrollPending, r105 + (typeof viewOffset3 === "number" ? viewOffset3 < 0 ? -viewOffset3 : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
const r116 = Math.max(0, r95);
|
|
const r120 = Math.abs(scrollPending - clampedTargetOffset);
|
|
const r125 = Math.abs(scrollPending - (clampedTargetOffset + adjust));
|
|
const animated = a1.animated;
|
|
let r3 = animated ? false : !animated;
|
|
let isAtResolvedTarget = Math.abs(scrollPending - r116) < 1;
|
|
if (isAtResolvedTarget) {
|
|
let r4 = r120 < 1;
|
|
if (!r4) {
|
|
if (r3) {
|
|
r3 = r125 < 1;
|
|
}
|
|
r4 = r3;
|
|
}
|
|
isAtResolvedTarget = r4;
|
|
}
|
|
return {
|
|
clampedTargetOffset,
|
|
isAtResolvedTarget
|
|
};
|
|
};
|
|
env10649[63] = function checkFinishedScrollFallback(a0) {
|
|
const state5 = a0.state;
|
|
const scrollingTo3 = state5.scrollingTo;
|
|
const state14 = a0.state;
|
|
const scrollingTo2 = state14.scrollingTo;
|
|
const r16 = !!scrollingTo2?.isInitialScroll && state14.props.data.length > 0 && (0, env10649[25])(a0) <= state14.scrollLength && state14.scrollPending <= 1;
|
|
const r29 = !!scrollingTo3?.isInitialScroll && c10649_36.didDispatchNativeScroll(state5) && !state5.hasScrolled;
|
|
let c21554_2 = r29;
|
|
const r33 = scrollingTo3 !== void 0 && (0, env10649[61])(state5, scrollingTo3);
|
|
const r37 = scrollingTo3?.isInitialScroll && !r16 && !r33 || !state5.didContainersLayout;
|
|
state5.timeoutCheckFinishedScrollFallback = setTimeout(() => {
|
|
let c27893_0 = 0;
|
|
const checkHasScrolled2 = () => {
|
|
L77: {
|
|
state5.timeoutCheckFinishedScrollFallback = void 0;
|
|
const scrollingTo2 = state5.scrollingTo;
|
|
if (scrollingTo2) {
|
|
c27893_0 = c27893_0 + 1;
|
|
const r25 = c10649_37.get(state5);
|
|
const targetOffset2 = r25?.targetOffset;
|
|
const didFinishInitialScroll = state5.didFinishInitialScroll;
|
|
const r17 = (didFinishInitialScroll ? !didFinishInitialScroll : c10649_37.hasNonZeroTargetOffset(targetOffset2)) && !state5.hasScrolled;
|
|
let r30 = 5;
|
|
let r2 = 5;
|
|
if (!c21554_2) {
|
|
if (r17) {
|
|
r30 = 20;
|
|
}
|
|
r2 = r30;
|
|
}
|
|
const state14 = a0.state;
|
|
const scrollingTo3 = state14.scrollingTo;
|
|
const r34 = !!scrollingTo3?.isInitialScroll && state14.props.data.length > 0 && (0, env10649[25])(a0) <= state14.scrollLength && state14.scrollPending <= 1;
|
|
const r46 = (0, env10649[61])(state5, scrollingTo2);
|
|
const r22 = (0, env10649[62])(a0, scrollingTo2);
|
|
const r48 = c21554_2 && r22.isAtResolvedTarget && c27893_0 >= 1;
|
|
const r21 = r48 && !c10649_36.didRetrySilentInitialScroll(state5);
|
|
let hasScrolled = state5.hasScrolled;
|
|
if (hasScrolled) {
|
|
const isInitialScroll = scrollingTo2.isInitialScroll;
|
|
hasScrolled = isInitialScroll ? r22.isAtResolvedTarget : !isInitialScroll;
|
|
}
|
|
const r53 = scrollingTo2.isInitialScroll && !r22.isAtResolvedTarget && c27893_0 <= r2;
|
|
if (r21) {
|
|
const r88 = c10649_37.get(state5);
|
|
let r90 = r88?.targetOffset;
|
|
if (r90 == null) {
|
|
r90 = scrollingTo2.targetOffset;
|
|
}
|
|
const targetOffset = r90 ?? 0;
|
|
const r94 = targetOffset >= 1 ? targetOffset - 1 : targetOffset + 1;
|
|
c10649_36.markSilentInitialScrollRetry(state5);
|
|
const current6 = a0.state.refScroller.current;
|
|
if (current6 != null) {
|
|
current6.scrollTo({
|
|
animated: false,
|
|
x: a0.state.props.horizontal ? r94 : 0,
|
|
y: a0.state.props.horizontal ? 0 : r94
|
|
});
|
|
}
|
|
requestAnimationFrame(() => {
|
|
const current5 = a0.state.refScroller.current;
|
|
if (current5 != null) {
|
|
current5.scrollTo({
|
|
animated: false,
|
|
x: a0.state.props.horizontal ? targetOffset : 0,
|
|
y: a0.state.props.horizontal ? 0 : targetOffset
|
|
});
|
|
}
|
|
});
|
|
state5.timeoutCheckFinishedScrollFallback = setTimeout(checkHasScrolled2, 16);
|
|
} else {
|
|
if (!r34 && !hasScrolled && !r46 && !r48) {
|
|
const r56 = c27893_0;
|
|
if (!(r2 < r56)) {
|
|
if (!(!r17 && !r53) && r56 <= r2) {
|
|
const r63 = c10649_37.get(state5);
|
|
let r65 = r63?.targetOffset;
|
|
if (r65 == null) {
|
|
r65 = scrollingTo2.targetOffset;
|
|
}
|
|
if (r65 == null) {
|
|
r65 = state5.scrollPending;
|
|
}
|
|
const current5 = a0.state.refScroller.current;
|
|
if (current5 != null) {
|
|
current5.scrollTo({
|
|
animated: false,
|
|
x: a0.state.props.horizontal ? r65 : 0,
|
|
y: a0.state.props.horizontal ? 0 : r65
|
|
});
|
|
}
|
|
state5.timeoutCheckFinishedScrollFallback = setTimeout(checkHasScrolled2, c21554_2 ? 16 : 100);
|
|
break L77;
|
|
}
|
|
state5.timeoutCheckFinishedScrollFallback = setTimeout(checkHasScrolled2, c21554_2 ? 16 : 100);
|
|
break L77;
|
|
}
|
|
}
|
|
(0, env10649[60])(a0);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
checkHasScrolled2();
|
|
}, r16 ? 0 : r33 ? 0 : r29 ? 16 : r37 ? 500 : 100);
|
|
};
|
|
env10649[64] = function doMaintainScrollAtEnd(a0) {
|
|
let c21555_4, maintainingScrollAtEnd;
|
|
const state6 = a0.state;
|
|
const { didContainersLayout, pendingNativeMVCPAdjust, refScroller } = state6;
|
|
const maintainScrollAtEnd = state6.props.maintainScrollAtEnd;
|
|
const pendingMaintainScrollAtEnd = !!(a0.values.get("isWithinMaintainScrollAtEndThreshold") && maintainScrollAtEnd && didContainersLayout);
|
|
if (pendingNativeMVCPAdjust) {
|
|
state6.pendingMaintainScrollAtEnd = pendingMaintainScrollAtEnd;
|
|
return false;
|
|
}
|
|
state6.pendingMaintainScrollAtEnd = false;
|
|
if (pendingMaintainScrollAtEnd) {
|
|
if ((0, env10649[25])(a0) < state6.scrollLength) {
|
|
state6.scroll = 0;
|
|
}
|
|
if (state6.maintainingScrollAtEnd) {
|
|
state6.pendingMaintainScrollAtEnd = true;
|
|
} else {
|
|
const maintainingScrollAtEnd2 = maintainScrollAtEnd.animated ? "pending-animated" : "pending-instant";
|
|
c21555_4 = maintainingScrollAtEnd2;
|
|
maintainingScrollAtEnd = maintainScrollAtEnd.animated ? "animated" : "instant";
|
|
state6.maintainingScrollAtEnd = maintainingScrollAtEnd2;
|
|
requestAnimationFrame(() => {
|
|
if (a0.values.get("isWithinMaintainScrollAtEndThreshold")) {
|
|
L29: {
|
|
state6.maintainingScrollAtEnd = maintainingScrollAtEnd;
|
|
const current5 = refScroller.current;
|
|
if (state6.props.horizontal) {
|
|
const r12 = state6 == null ? void 0 : state6.props;
|
|
let r27 = !!r12?.horizontal;
|
|
if (r27) {
|
|
let r11 = r12?.rtl;
|
|
if (r11 == null) {
|
|
r11 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r27 = r11;
|
|
}
|
|
if (r27) {
|
|
const r40 = (0, env10649[25])(a0);
|
|
const r53 = Number.isFinite(r40) && (Number.isFinite(state6.scrollLength) && !(r40 <= state6.scrollLength)) ? Math.max(0, r40 - state6.scrollLength) : Number.isFinite(r40) ? Number.isFinite(state6.scrollLength) ? 0 : void 0 : void 0;
|
|
const r65 = (0, env10649[15])(state6, r53 ?? 0, r40);
|
|
if (current5 == null) {
|
|
break L29;
|
|
}
|
|
current5.scrollTo({
|
|
animated: maintainScrollAtEnd.animated,
|
|
x: r65,
|
|
y: 0
|
|
});
|
|
break L29;
|
|
}
|
|
}
|
|
if (current5 != null) {
|
|
current5.scrollToEnd({
|
|
animated: maintainScrollAtEnd.animated
|
|
});
|
|
}
|
|
}
|
|
setTimeout(() => {
|
|
if (state6.maintainingScrollAtEnd === maintainingScrollAtEnd) {
|
|
state6.maintainingScrollAtEnd = void 0;
|
|
if (state6.pendingMaintainScrollAtEnd) {
|
|
(0, env10649[64])(a0);
|
|
}
|
|
}
|
|
}, maintainScrollAtEnd.animated ? 500 : 0);
|
|
} else if (state6.maintainingScrollAtEnd === c21555_4) {
|
|
state6.maintainingScrollAtEnd = void 0;
|
|
}
|
|
});
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
env10649[65] = function requestAdjust(a0, a1, a2) {
|
|
let c21556_3;
|
|
const state7 = a0.state;
|
|
if (Math.abs(a1) > 0.1) {
|
|
const r15 = (c10649_27 ? !c10649_27 : a2) && state7.scroll <= a1;
|
|
c21556_3 = r15;
|
|
const doit = () => {
|
|
if (c21556_3) {
|
|
const r23 = {
|
|
horizontal: state7.props.horizontal,
|
|
offset: state7.scroll
|
|
};
|
|
const state14 = a0.state;
|
|
const { animated, horizontal: horizontal6, isInitialScroll, offset } = r23;
|
|
const r1 = !animated;
|
|
const current5 = state14.refScroller.current;
|
|
if (current5) {
|
|
const r30 = !!horizontal6;
|
|
const r9 = env10649[15];
|
|
const r31 = r30 ? (0, env10649[25])(a0) : void 0;
|
|
const animated2 = !r1;
|
|
const r12 = r9(state14, offset, r31);
|
|
current5.scrollTo({
|
|
animated: animated2,
|
|
x: r30 ? r12 : 0,
|
|
y: r30 ? 0 : offset
|
|
});
|
|
if (isInitialScroll) {
|
|
c10649_36.markInitialScrollNativeDispatch(state14);
|
|
}
|
|
if (!animated2) {
|
|
state14.scroll = offset;
|
|
(0, env10649[63])(a0);
|
|
}
|
|
}
|
|
} else {
|
|
state7.scrollAdjustHandler.requestAdjust(a1);
|
|
if (state7.adjustingFromInitialMount) {
|
|
state7.adjustingFromInitialMount = state7.adjustingFromInitialMount - 1;
|
|
}
|
|
}
|
|
};
|
|
state7.scroll = state7.scroll + a1;
|
|
state7.scrollForNextCalculateItemsInView = void 0;
|
|
if (a0.values.get("readyToRender")) {
|
|
doit();
|
|
const lt = state7.scroll - a1 / 2;
|
|
if (!state7.ignoreScrollFromMVCP) {
|
|
state7.ignoreScrollFromMVCP = {};
|
|
}
|
|
if (a1 > 0) {
|
|
state7.ignoreScrollFromMVCP.lt = lt;
|
|
} else {
|
|
state7.ignoreScrollFromMVCP.gt = lt;
|
|
}
|
|
if (state7.ignoreScrollFromMVCPTimeout) {
|
|
clearTimeout(state7.ignoreScrollFromMVCPTimeout);
|
|
}
|
|
state7.ignoreScrollFromMVCPTimeout = setTimeout(() => {
|
|
state7.ignoreScrollFromMVCP = void 0;
|
|
if (state7.ignoreScrollFromMVCPIgnored && state7.scrollProcessingEnabled !== false) {
|
|
state7.ignoreScrollFromMVCPIgnored = false;
|
|
state7.scrollPending = state7.scroll;
|
|
const reprocessCurrentScroll = state7.reprocessCurrentScroll;
|
|
if (reprocessCurrentScroll != null) {
|
|
reprocessCurrentScroll.call(state7);
|
|
}
|
|
}
|
|
}, r15 ? 250 : 100);
|
|
} else {
|
|
state7.adjustingFromInitialMount = (state7.adjustingFromInitialMount || 0) + 1;
|
|
requestAnimationFrame(doit);
|
|
}
|
|
}
|
|
};
|
|
env10649[67] = function maybeApplyPredictedNativeMVCPAdjust(a0) {
|
|
const state14 = a0.state;
|
|
const pendingNativeMVCPAdjust = state14.pendingNativeMVCPAdjust;
|
|
if (pendingNativeMVCPAdjust) {
|
|
const r15 = Math.abs(pendingNativeMVCPAdjust.manualApplied);
|
|
if (!(r15 > c10649_66)) {
|
|
const r13 = (0, env10649[25])(a0);
|
|
const amount = pendingNativeMVCPAdjust.amount;
|
|
const r2 = Math.abs(amount) <= c10649_66;
|
|
let r20 = 0;
|
|
if (!r2) {
|
|
const r14 = Math.max(0, r13 - state14.scrollLength) - state14.scroll;
|
|
r20 = amount < 0 ? Math.max(amount, Math.min(0, r14)) : amount > 0 ? Math.min(amount, Math.max(0, r14)) : 0;
|
|
}
|
|
if (!(Math.abs(r20) <= c10649_66)) {
|
|
const manualApplied = pendingNativeMVCPAdjust.amount - r20;
|
|
if (!(Math.abs(manualApplied) <= c10649_66)) {
|
|
pendingNativeMVCPAdjust.manualApplied = manualApplied;
|
|
(0, env10649[65])(a0, manualApplied, true);
|
|
pendingNativeMVCPAdjust.furthestProgressTowardAmount = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[68] = function prepareMVCP(a0, a1) {
|
|
let r51;
|
|
let c21557_2, c21557_3;
|
|
const state8 = a0.state;
|
|
const { idsInView, positions } = state8;
|
|
const maintainVisibleContentPosition = state8.props.maintainVisibleContentPosition;
|
|
const data = maintainVisibleContentPosition.data;
|
|
let size = maintainVisibleContentPosition.size;
|
|
const shouldRestorePosition = maintainVisibleContentPosition.shouldRestorePosition;
|
|
Date.now();
|
|
const scrollingTo = state8.scrollingTo;
|
|
const r29 = [];
|
|
let c21557_9 = r29;
|
|
const index = scrollingTo == null ? void 0 : scrollingTo.index;
|
|
const viewPosition = scrollingTo == null ? void 0 : scrollingTo.viewPosition;
|
|
const r31 = index !== void 0;
|
|
let c21557_12 = r31 && state8.props.data.length > 0 && index >= state8.props.data.length - 1 && (viewPosition != null ? viewPosition : 0) > 0;
|
|
if (a1) {
|
|
size = data;
|
|
}
|
|
const { indexByKey, scroll } = state8;
|
|
let c21557_15 = (0, env10649[25])(a0);
|
|
if (size) {
|
|
if (state8.pendingNativeMVCPAdjust && index === void 0) {
|
|
(0, env10649[67])(a0);
|
|
return void 0;
|
|
}
|
|
if (r31) {
|
|
if (!c10649_27 && (scrollingTo == null ? void 0 : scrollingTo.isInitialScroll)) {
|
|
return void 0;
|
|
}
|
|
const props = state8.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r59 = "";
|
|
if (data3) {
|
|
const r62 = index < data3.length ? keyExtractor2 ? keyExtractor2(data3[index], index) : index : null;
|
|
state8.idCache[index] = r62;
|
|
r59 = r62;
|
|
}
|
|
c21557_3 = r59;
|
|
r51 = r59;
|
|
} else {
|
|
const r50 = idsInView.length > 0 && state8.didContainersLayout && !a1;
|
|
r51 = void 0;
|
|
if (r50) {
|
|
const r53 = idsInView.find((item) => indexByKey.get(item) !== void 0);
|
|
c21557_3 = r53;
|
|
r51 = r53;
|
|
}
|
|
}
|
|
if (a1 && idsInView.length > 0 && state8.didContainersLayout) {
|
|
const r69 = 0 < idsInView.length;
|
|
let r0 = 0;
|
|
if (r69) {
|
|
do {
|
|
const id4 = idsInView[r0];
|
|
const r72 = indexByKey.get(id4);
|
|
const r1 = r0;
|
|
if (r72 !== void 0) {
|
|
const position = positions[r72];
|
|
if (position !== void 0) {
|
|
r29.push({
|
|
id: id4,
|
|
position
|
|
});
|
|
}
|
|
}
|
|
r0 = r1 + 1;
|
|
} while (r0 < idsInView.length);
|
|
}
|
|
}
|
|
if (r51 !== void 0) {
|
|
const r79 = indexByKey.get(r51);
|
|
if (r79 !== void 0) {
|
|
c21557_2 = positions[r79];
|
|
}
|
|
}
|
|
return () => {
|
|
let r1, r34, r47;
|
|
const data3 = state8.props.data;
|
|
let r9 = a1 && data && index === void 0;
|
|
if (r9) {
|
|
let r24 = true;
|
|
if (c21557_3 !== void 0) {
|
|
const r26 = indexByKey.get(c21557_3);
|
|
r24 = r26 === void 0 || positions[r26] === void 0;
|
|
}
|
|
r9 = r24;
|
|
}
|
|
let r29 = 0;
|
|
if (r9) {
|
|
const r32 = 0 < c21557_9.length;
|
|
let r0 = 0;
|
|
r29 = 0;
|
|
if (r32) {
|
|
do {
|
|
L20: {
|
|
r34 = c21557_9;
|
|
const r35 = r34[r0];
|
|
const { id: id4, position } = r35;
|
|
const r38 = indexByKey.get(id4);
|
|
const r39 = r38 !== void 0;
|
|
r1 = r0;
|
|
if (r39 && shouldRestorePosition) {
|
|
const r41 = data3[r38];
|
|
if (r41 === void 0) {
|
|
break L20;
|
|
}
|
|
if (!shouldRestorePosition(r41, r38, data3)) {
|
|
break L20;
|
|
}
|
|
}
|
|
const r43 = r39 ? positions[r38] : void 0;
|
|
if (r43 !== void 0) {
|
|
r29 = r43 - position;
|
|
break;
|
|
}
|
|
}
|
|
const r45 = r1 + 1;
|
|
r47 = r45 < r34.length;
|
|
r0 = r45;
|
|
r29 = 0;
|
|
} while (r47);
|
|
}
|
|
}
|
|
let r49 = r29;
|
|
if (c21557_3 !== void 0) {
|
|
r49 = r29;
|
|
if (c21557_2 !== void 0) {
|
|
const r53 = indexByKey.get(c21557_3);
|
|
const r54 = r53 !== void 0 ? positions[r53] : void 0;
|
|
r49 = r29;
|
|
if (r54 !== void 0) {
|
|
const r59 = (0, env10649[25])(a0);
|
|
const r60 = r54 - c21557_2;
|
|
let r61 = r60;
|
|
if (r61 !== 0) {
|
|
r61 = r60;
|
|
if (c21557_12) {
|
|
const r66 = state8.scroll + state8.scrollLength;
|
|
r61 = r60;
|
|
if (r66 > r59) {
|
|
if (r60 > 0) {
|
|
r61 = Math.max(0, r59 - state8.scroll - state8.scrollLength);
|
|
} else {
|
|
const scroll2 = Math.max(0, r59 - state8.scrollLength);
|
|
state8.scroll = scroll2;
|
|
state8.scrollPending = scroll2;
|
|
r61 = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
r49 = r61;
|
|
}
|
|
}
|
|
}
|
|
let amount = r49;
|
|
if (viewPosition) {
|
|
amount = r49;
|
|
if (viewPosition > 0) {
|
|
const itemSize = (0, env10649[58])(a0, c21557_3, index, state8.props.data[index]);
|
|
const r92 = scrollingTo == null ? void 0 : scrollingTo.itemSize;
|
|
amount = r49;
|
|
if (itemSize !== void 0) {
|
|
amount = r49;
|
|
if (r92 !== void 0) {
|
|
amount = r49;
|
|
if (itemSize !== r92) {
|
|
const r93 = itemSize - r92;
|
|
amount = r49;
|
|
if (r93 !== 0) {
|
|
amount = r49 + r93 * viewPosition;
|
|
scrollingTo.itemSize = itemSize;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let r95 = a1;
|
|
const r100 = (r95 ? !state8.props.maintainVisibleContentPosition.data : !r95) || index !== void 0 || amount >= -0.1;
|
|
if (r100 ? !r100 : c21557_15 - scroll - state8.scrollLength < Math.abs(amount) - c10649_66) {
|
|
state8.pendingNativeMVCPAdjust = {
|
|
amount,
|
|
furthestProgressTowardAmount: 0,
|
|
manualApplied: 0,
|
|
startScroll: scroll
|
|
};
|
|
(0, env10649[67])(a0);
|
|
return void 0;
|
|
}
|
|
if (Math.abs(amount) > c10649_66 && !((state8.maintainingScrollAtEnd === "pending-animated" || state8.maintainingScrollAtEnd === "animated") && a0.values.get("isWithinMaintainScrollAtEndThreshold"))) {
|
|
const r130 = env10649[65];
|
|
if (r95) {
|
|
r95 = data;
|
|
}
|
|
r130(a0, amount, r95);
|
|
}
|
|
};
|
|
}
|
|
};
|
|
env10649[70] = function updateScroll(a0, a1, a2, a3) {
|
|
let r118;
|
|
const state14 = a0.state;
|
|
const { ignoreScrollFromMVCP, lastScrollAdjustForHistory, scrollAdjustHandler, scrollHistory, scrollingTo: scrollingTo2, scroll: scroll2 } = state14;
|
|
if (a3?.markHasScrolled !== false) {
|
|
state14.hasScrolled = true;
|
|
}
|
|
const lastBatchingAction = Date.now();
|
|
state14.lastBatchingAction = lastBatchingAction;
|
|
const adjust = scrollAdjustHandler.getAdjust();
|
|
const r38 = lastScrollAdjustForHistory !== void 0 && Math.abs(adjust - lastScrollAdjustForHistory) > 0.1;
|
|
if (r38) {
|
|
scrollHistory.length = 0;
|
|
}
|
|
state14.lastScrollAdjustForHistory = adjust;
|
|
const doMVCP = scrollingTo2 !== void 0;
|
|
if (!(doMVCP || scrollHistory.length === 0 && a1 === state14.scroll || r38)) {
|
|
scrollHistory.push({
|
|
scroll: a1,
|
|
time: lastBatchingAction
|
|
});
|
|
}
|
|
if (scrollHistory.length > 5) {
|
|
scrollHistory.shift();
|
|
}
|
|
L25: {
|
|
if (ignoreScrollFromMVCP && !scrollingTo2) {
|
|
const { lt, gt } = ignoreScrollFromMVCP;
|
|
if (!(lt && a1 < lt)) {
|
|
if (!gt) {
|
|
break L25;
|
|
}
|
|
if (!(a1 > gt)) {
|
|
break L25;
|
|
}
|
|
}
|
|
state14.ignoreScrollFromMVCPIgnored = true;
|
|
return void 0;
|
|
}
|
|
}
|
|
state14.scrollPrev = scroll2;
|
|
state14.scrollPrevTime = state14.scrollTime;
|
|
state14.scroll = a1;
|
|
state14.scrollTime = lastBatchingAction;
|
|
const lastScrollDelta = Math.abs(a1 - scroll2);
|
|
const fromNativeScrollEvent = a3?.fromNativeScrollEvent;
|
|
let r63 = void 0;
|
|
if (fromNativeScrollEvent) {
|
|
const r65 = lastScrollDelta > 0.1;
|
|
r63 = void 0;
|
|
if (r65) {
|
|
r63 = void 0;
|
|
if (!r38) {
|
|
r63 = void 0;
|
|
if (scrollingTo2 === void 0) {
|
|
const pendingNativeMVCPAdjust = state14.pendingNativeMVCPAdjust;
|
|
r63 = void 0;
|
|
if (!pendingNativeMVCPAdjust) {
|
|
const r67 = a1 - scroll2;
|
|
const state15 = a0.state;
|
|
const edgeReachedGate = state15.edgeReachedGate;
|
|
let r71 = void 0;
|
|
if (edgeReachedGate === "prepared") {
|
|
const r72 = r67 < 0 ? "start" : "end";
|
|
state15.edgeReachedGate = "closed";
|
|
const state16 = a0.state;
|
|
if (r72 === "start") {
|
|
state16.isStartReached = false;
|
|
state16.startReachedSnapshot = void 0;
|
|
r71 = r72;
|
|
} else {
|
|
state16.isEndReached = false;
|
|
state16.endReachedSnapshot = void 0;
|
|
r71 = r72;
|
|
}
|
|
}
|
|
r63 = r71;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const state17 = a0.state;
|
|
const pendingNativeMVCPAdjust2 = state17.pendingNativeMVCPAdjust;
|
|
let r80 = false;
|
|
if (pendingNativeMVCPAdjust2) {
|
|
const r83 = pendingNativeMVCPAdjust2.amount - pendingNativeMVCPAdjust2.manualApplied;
|
|
const r87 = a1 - (pendingNativeMVCPAdjust2.startScroll + pendingNativeMVCPAdjust2.manualApplied);
|
|
const r89 = r83 < 0;
|
|
const r90 = r89 && r87 > c10649_66 || r83 > 0 && r87 < -0.1;
|
|
const furthestProgressTowardAmount = r89 ? -r87 : r87;
|
|
const r94 = Math.abs(r83);
|
|
if (r94 <= c10649_66) {
|
|
state17.pendingNativeMVCPAdjust = void 0;
|
|
r80 = true;
|
|
} else if (r90) {
|
|
state17.pendingNativeMVCPAdjust = void 0;
|
|
r80 = false;
|
|
} else if (furthestProgressTowardAmount + c10649_66 >= Math.abs(r83)) {
|
|
a0.state.pendingNativeMVCPAdjust = void 0;
|
|
const r130 = r83 - r87;
|
|
const r134 = Math.abs(r130) > c10649_66;
|
|
r80 = true;
|
|
if (r134) {
|
|
(0, env10649[65])(a0, r130, true);
|
|
r80 = true;
|
|
}
|
|
} else {
|
|
L65: {
|
|
L63: {
|
|
if (!(Math.abs(a1 - Math.max(0, (0, env10649[25])(a0) - state17.scrollLength)) <= 1)) {
|
|
if (state17.pendingMaintainScrollAtEnd && a0.values.get("isWithinMaintainScrollAtEndThreshold") && furthestProgressTowardAmount > c10649_66) {
|
|
break L63;
|
|
}
|
|
if (furthestProgressTowardAmount > pendingNativeMVCPAdjust2.furthestProgressTowardAmount + c10649_66) {
|
|
pendingNativeMVCPAdjust2.furthestProgressTowardAmount = furthestProgressTowardAmount;
|
|
r118 = false;
|
|
break L65;
|
|
}
|
|
r118 = pendingNativeMVCPAdjust2.furthestProgressTowardAmount > c10649_66 && furthestProgressTowardAmount < pendingNativeMVCPAdjust2.furthestProgressTowardAmount - c10649_66;
|
|
if (!r118) {
|
|
break L65;
|
|
}
|
|
state17.pendingNativeMVCPAdjust = void 0;
|
|
r118 = false;
|
|
break L65;
|
|
}
|
|
}
|
|
a0.state.pendingNativeMVCPAdjust = void 0;
|
|
const r122 = r83 - r87;
|
|
const r10 = Math.abs(r122) > c10649_66;
|
|
r118 = true;
|
|
if (r10) {
|
|
(0, env10649[65])(a0, r122, true);
|
|
r118 = true;
|
|
}
|
|
}
|
|
r80 = r118;
|
|
}
|
|
}
|
|
const scrollLength = state14.scrollLength;
|
|
const r140 = scrollLength > 0 && scrollingTo2 === void 0 && lastScrollDelta > scrollLength && !state14.pendingNativeMVCPAdjust;
|
|
const scrollVelocity = getScrollVelocity(state14);
|
|
const state18 = a0.state;
|
|
const adaptiveRender = state18.props.adaptiveRender;
|
|
const r150 = a0.values.get("adaptiveRender");
|
|
if (a0.values.get("readyToRender")) {
|
|
if (adaptiveRender) {
|
|
const enterVelocity = adaptiveRender.enterVelocity;
|
|
let r159 = enterVelocity ?? 3;
|
|
const exitVelocity = adaptiveRender.exitVelocity;
|
|
const r162 = exitVelocity ?? 1;
|
|
const exitDelay = adaptiveRender.exitDelay;
|
|
const r165 = exitDelay ?? 250;
|
|
const r167 = r150 === "light";
|
|
if (r167) {
|
|
r159 = r162;
|
|
}
|
|
const r172 = r140 ? "light" : Math.abs(scrollVelocity) > r159 ? "light" : "normal";
|
|
if (r172 !== (state18.timeoutAdaptiveRender === void 0 ? r150 : "normal")) {
|
|
if (r172 === "light") {
|
|
if (a0.values.get("adaptiveRender") !== "light") {
|
|
(0, env10649[22])(a0, "adaptiveRender", "light");
|
|
const adaptiveRender2 = a0.state.props.adaptiveRender;
|
|
const onChange = adaptiveRender2?.onChange;
|
|
if (onChange != null) {
|
|
onChange.call(adaptiveRender2, "light", "scroll");
|
|
}
|
|
}
|
|
(0, env10649[44])(a0, r165);
|
|
} else if (r167) {
|
|
(0, env10649[44])(a0, r165);
|
|
}
|
|
}
|
|
} else {
|
|
(0, env10649[45])(a0);
|
|
}
|
|
}
|
|
const scrollLastCalculate = state14.scrollLastCalculate;
|
|
if (!(!state14.dataChangeNeedsScrollUpdate && (!r80 && (r63 === void 0 && (!a2 && (scrollLastCalculate !== void 0 && !(Math.abs(state14.scroll - scrollLastCalculate) > 2))))))) {
|
|
state14.scrollLastCalculate = state14.scroll;
|
|
state14.ignoreScrollFromMVCPIgnored = false;
|
|
state14.lastScrollDelta = lastScrollDelta;
|
|
if (r140) {
|
|
state14.mvcpAnchorLock = void 0;
|
|
state14.pendingNativeMVCPAdjust = void 0;
|
|
state14.userScrollAnchorReset = {
|
|
keys: new Set()
|
|
};
|
|
if (state14.queuedMVCPRecalculate !== void 0) {
|
|
cancelAnimationFrame(state14.queuedMVCPRecalculate);
|
|
state14.queuedMVCPRecalculate = void 0;
|
|
}
|
|
const r220 = {
|
|
doMVCP,
|
|
scrollVelocity
|
|
};
|
|
if (r140) {
|
|
r220.drawDistanceMode = "visible-first";
|
|
}
|
|
const triggerCalculateItemsInView2 = state14.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView2 != null) {
|
|
triggerCalculateItemsInView2.call(state14, r220);
|
|
}
|
|
let env21558;
|
|
(0, env10649[43])(a0, r63);
|
|
const r228 = env21558 = {};
|
|
env21558[0] = void 0;
|
|
const state19 = a0.state;
|
|
env21558[0] = state19;
|
|
if (!(state19.props.drawDistance <= 50 || state19.queuedFullDrawDistancePrewarm !== void 0)) {
|
|
state19.queuedFullDrawDistancePrewarm = requestAnimationFrame($mk95164(r228));
|
|
}
|
|
} else {
|
|
const r203 = {
|
|
doMVCP,
|
|
scrollVelocity
|
|
};
|
|
if (r140) {
|
|
r203.drawDistanceMode = "visible-first";
|
|
}
|
|
const triggerCalculateItemsInView = state14.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(state14, r203);
|
|
}
|
|
(0, env10649[43])(a0, r63);
|
|
}
|
|
let r240 = !!state14.pendingMaintainScrollAtEnd;
|
|
if (!r240) {
|
|
const maintainScrollAtEnd2 = state14.props.maintainScrollAtEnd;
|
|
r240 = !!maintainScrollAtEnd2?.onDataChange;
|
|
}
|
|
if (r80) {
|
|
r80 = r240;
|
|
}
|
|
if (r80) {
|
|
state14.pendingMaintainScrollAtEnd = false;
|
|
(0, env10649[64])(a0);
|
|
}
|
|
state14.dataChangeNeedsScrollUpdate = false;
|
|
state14.lastScrollDelta = 0;
|
|
}
|
|
};
|
|
env10649[71] = function getItemBottom(a0, a1) {
|
|
const r4 = a0.state.positions[a1];
|
|
if (r4 !== void 0) {
|
|
let r6 = void 0;
|
|
if (a1 !== void 0) {
|
|
const r2 = a1 < 0;
|
|
r6 = void 0;
|
|
if (!r2) {
|
|
const r7 = env10649[58];
|
|
const state14 = a0.state;
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r5 = "";
|
|
if (data3) {
|
|
const r24 = a1 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a1], a1) : a1 : null;
|
|
state14.idCache[a1] = r24;
|
|
r5 = r24;
|
|
}
|
|
r6 = r7(a0, r5, a1, a0.state.props.data[a1]);
|
|
}
|
|
}
|
|
const r32 = r6 ?? 0;
|
|
return r4 + (Number.isFinite(r32) ? r32 : 0);
|
|
}
|
|
};
|
|
env10649[72] = function scrollTo(a0, a1) {
|
|
let r138, r139, r140, r176, end2, scrollTargetPinnedRange;
|
|
const state14 = a0.state;
|
|
const noScrollingTo = a1.noScrollingTo;
|
|
a1.forceScroll;
|
|
const r19 = (0, env10649[3])(a1, env10649[5]);
|
|
const { animated, isInitialScroll, offset, precomputedWithViewOffset, waitForInitialScrollCompletionFrame } = r19;
|
|
const horizontal6 = state14.props.horizontal;
|
|
if (state14.animFrameCheckFinishedScroll) {
|
|
cancelAnimationFrame(a0.state.animFrameCheckFinishedScroll);
|
|
}
|
|
if (state14.timeoutCheckFinishedScrollFallback) {
|
|
clearTimeout(a0.state.timeoutCheckFinishedScrollFallback);
|
|
}
|
|
const r55 = precomputedWithViewOffset ? offset : (0, env10649[59])(a0, offset, r19);
|
|
let r57 = !!isInitialScroll;
|
|
if (r57) {
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
r57 = initialScrollSession?.kind === "offset";
|
|
}
|
|
const state16 = a0.state;
|
|
const r24 = (0, env10649[25])(a0);
|
|
const isFinite2 = Number.isFinite(r24);
|
|
let r68 = r55;
|
|
if (isFinite2) {
|
|
const isFinite3 = Number.isFinite(state16.scrollLength);
|
|
r68 = r55;
|
|
if (isFinite3) {
|
|
const lastLayout = state16.lastLayout;
|
|
r68 = r55;
|
|
if (lastLayout) {
|
|
const r76 = Math.max(0, r24 - state16.scrollLength);
|
|
const viewOffset = r19?.viewOffset;
|
|
r68 = Math.min(r55, r76 + (typeof viewOffset === "number" ? viewOffset < 0 ? -viewOffset : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
const targetOffset2 = Math.max(0, r68);
|
|
const scroll2 = r57 ? r55 : targetOffset2;
|
|
state14.scrollHistory.length = 0;
|
|
if (!noScrollingTo) {
|
|
if (isInitialScroll) {
|
|
c10649_36.resetFlags(state14);
|
|
}
|
|
const length = Object.keys(state14.averageSizes).length;
|
|
let averageSizeSnapshot = void 0;
|
|
if (length !== 0) {
|
|
const r99 = {};
|
|
const averageSizes = state14.averageSizes;
|
|
averageSizeSnapshot = r99;
|
|
for (const key in averageSizes) {
|
|
averageSizeSnapshot = r99;
|
|
r99[key] = state14.averageSizes[key].avg;
|
|
}
|
|
averageSizeSnapshot = r99;
|
|
}
|
|
state14.scrollingTo = {
|
|
...r19,
|
|
...averageSizeSnapshot ? {
|
|
averageSizeSnapshot
|
|
} : {},
|
|
targetOffset: targetOffset2,
|
|
waitForInitialScrollCompletionFrame
|
|
};
|
|
if (!isInitialScroll) {
|
|
L64: {
|
|
const index3 = r19.index;
|
|
const state17 = a0.state;
|
|
const length2 = state17.props.data.length;
|
|
scrollTargetPinnedRange = void 0;
|
|
if (length2 !== 0) {
|
|
const r120 = Math.max(0, targetOffset2);
|
|
const r125 = Math.max(r120, targetOffset2 + state17.scrollLength);
|
|
const r126 = index3 !== void 0;
|
|
if (r126) {
|
|
end2 = Math.max(0, Math.min(length2 - 1, index3));
|
|
} else {
|
|
const state15 = a0.state;
|
|
let r130 = state15.props.data.length - 1;
|
|
let r132 = 0;
|
|
let r133 = void 0;
|
|
end2 = void 0;
|
|
while (r132 <= r130) {
|
|
const r33 = Math.floor((r132 + r130) / 2);
|
|
const r136 = state15.positions[r33];
|
|
const r5 = r130;
|
|
const r32 = r132;
|
|
const r137 = r133;
|
|
if (r136 === void 0) {
|
|
r138 = r33 - 1;
|
|
r139 = r32;
|
|
r140 = r137;
|
|
} else if (r136 <= r120) {
|
|
r139 = r33 + 1;
|
|
r138 = r5;
|
|
r140 = r33;
|
|
} else {
|
|
r138 = r33 - 1;
|
|
r139 = r32;
|
|
r140 = r137;
|
|
}
|
|
r130 = r138;
|
|
r132 = r139;
|
|
r133 = r140;
|
|
end2 = r133;
|
|
}
|
|
}
|
|
scrollTargetPinnedRange = void 0;
|
|
if (end2 !== void 0) {
|
|
if (r126 && state17.positions[end2] === void 0) {
|
|
scrollTargetPinnedRange = {
|
|
end: end2,
|
|
start: end2
|
|
};
|
|
break L64;
|
|
}
|
|
if (index3 === void 0) {
|
|
const r151 = (0, env10649[71])(a0, end2);
|
|
scrollTargetPinnedRange = void 0;
|
|
if (r151 === void 0) {
|
|
break L64;
|
|
}
|
|
const r152 = r151 <= r120;
|
|
scrollTargetPinnedRange = void 0;
|
|
if (r152) {
|
|
break L64;
|
|
}
|
|
}
|
|
let r154 = end2;
|
|
let r155 = r154;
|
|
while (r155 > 0) {
|
|
const r157 = state17.positions[r154];
|
|
const r158 = r154;
|
|
r155 = r158;
|
|
if (r157 === void 0) {
|
|
break;
|
|
}
|
|
r155 = r158;
|
|
if (r157 <= r120) {
|
|
break;
|
|
}
|
|
const r161 = state17.positions[r158 - 1];
|
|
r155 = r158;
|
|
if (r161 === void 0) {
|
|
break;
|
|
}
|
|
r154 = r158 - 1;
|
|
r155 = r154;
|
|
}
|
|
let r162 = r155;
|
|
let start2 = r162;
|
|
while (start2 > 0) {
|
|
const r166 = (0, env10649[71])(a0, r162 - 1);
|
|
start2 = r162;
|
|
if (r166 === void 0) {
|
|
break;
|
|
}
|
|
start2 = start2;
|
|
if (r166 <= r120) {
|
|
break;
|
|
}
|
|
r162 = start2 - 1;
|
|
start2 = r162;
|
|
}
|
|
const r168 = start2 + 1;
|
|
let r169 = start2;
|
|
let end3 = r169;
|
|
if (r168 < length2) {
|
|
do {
|
|
const r173 = state17.positions[r169 + 1];
|
|
const r174 = r169;
|
|
end3 = r174;
|
|
if (r173 === void 0) {
|
|
break;
|
|
}
|
|
end3 = r174;
|
|
if (r173 > r125) {
|
|
break;
|
|
}
|
|
const r175 = r174 + 1;
|
|
r176 = r175 + 1;
|
|
r169 = r175;
|
|
end3 = r169;
|
|
} while (r176 < length2);
|
|
}
|
|
scrollTargetPinnedRange = {
|
|
end: end3,
|
|
start: start2
|
|
};
|
|
}
|
|
}
|
|
}
|
|
const state18 = a0.state;
|
|
if (scrollTargetPinnedRange) {
|
|
state18.scrollTargetPinnedRange = scrollTargetPinnedRange;
|
|
a0.state.scrollForNextCalculateItemsInView = void 0;
|
|
} else {
|
|
state18.scrollTargetPinnedRange = void 0;
|
|
}
|
|
}
|
|
}
|
|
state14.scrollPending = targetOffset2;
|
|
const r183 = c10649_37.get(state14);
|
|
const didFinishInitialScroll = state14.didFinishInitialScroll;
|
|
const r185 = (didFinishInitialScroll ? !didFinishInitialScroll : isInitialScroll || !!r183) && c10649_37.hasNonZeroTargetOffset(targetOffset2);
|
|
const didFinishInitialScroll2 = state14.didFinishInitialScroll;
|
|
const r190 = (didFinishInitialScroll2 ? !didFinishInitialScroll2 : !!r183) && c10649_37.isAtZeroTargetOffset(scroll2);
|
|
if (r185) {
|
|
state14.hasScrolled = false;
|
|
let startScroll = r183?.startScroll;
|
|
if (startScroll == null) {
|
|
startScroll = state14.scroll;
|
|
}
|
|
c10649_37.set(state14, {
|
|
startScroll,
|
|
targetOffset: targetOffset2
|
|
});
|
|
} else if (r190) {
|
|
c10649_37.clear(state14);
|
|
}
|
|
if ((isInitialScroll ? !isInitialScroll : !noScrollingTo) && Math.abs(state14.scroll - targetOffset2) > 1) {
|
|
if (animated) {
|
|
if (state14.scrollTargetPinnedRange) {
|
|
const triggerCalculateItemsInView = state14.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(state14);
|
|
}
|
|
}
|
|
} else {
|
|
(0, env10649[70])(a0, targetOffset2, true, {
|
|
markHasScrolled: false
|
|
});
|
|
}
|
|
}
|
|
const state19 = a0.state;
|
|
const r220 = !animated;
|
|
const current5 = state19.refScroller.current;
|
|
if (current5) {
|
|
const r224 = !!horizontal6;
|
|
const r225 = env10649[15];
|
|
const r226 = r224 ? (0, env10649[25])(a0) : void 0;
|
|
const animated2 = !r220;
|
|
const r229 = r225(state19, scroll2, r226);
|
|
current5.scrollTo({
|
|
animated: animated2,
|
|
x: r224 ? r229 : 0,
|
|
y: r224 ? 0 : scroll2
|
|
});
|
|
if (isInitialScroll) {
|
|
c10649_36.markInitialScrollNativeDispatch(state19);
|
|
}
|
|
if (!animated2) {
|
|
state19.scroll = scroll2;
|
|
(0, env10649[63])(a0);
|
|
}
|
|
}
|
|
};
|
|
env10649[73] = function scrollToIndex(a0, a1) {
|
|
const { index: index3, viewOffset = 0, animated = true, forceScroll, isInitialScroll } = a1;
|
|
let viewPosition2 = a1.viewPosition;
|
|
const state14 = a0.state;
|
|
const data3 = state14.props.data;
|
|
const length = data3.length;
|
|
const index4 = length <= 0 ? -1 : index3 >= length ? length - 1 : index3 < 0 ? 0 : index3;
|
|
let itemSize = void 0;
|
|
if (index4 !== void 0) {
|
|
const r34 = index4 < 0;
|
|
itemSize = void 0;
|
|
if (!r34) {
|
|
const r19 = env10649[58];
|
|
const state15 = a0.state;
|
|
const props = state15.props;
|
|
const { data: data4, keyExtractor: keyExtractor2 } = props;
|
|
let r18 = "";
|
|
if (data4) {
|
|
const r38 = index4 < data4.length ? keyExtractor2 ? keyExtractor2(data4[index4], index4) : index4 : null;
|
|
state15.idCache[index4] = r38;
|
|
r18 = r38;
|
|
}
|
|
itemSize = r19(a0, r18, index4, a0.state.props.data[index4]);
|
|
}
|
|
}
|
|
const state16 = a0.state;
|
|
const offset = index4 !== void 0 && state16.positions[index4] || 0;
|
|
if (index4 === data3.length - 1 && viewPosition2 === void 0) {
|
|
viewPosition2 = 1;
|
|
}
|
|
state14.scrollForNextCalculateItemsInView = void 0;
|
|
env10649[72](a0, {
|
|
animated,
|
|
forceScroll,
|
|
index: index4,
|
|
isInitialScroll,
|
|
itemSize,
|
|
offset,
|
|
viewOffset,
|
|
viewPosition: viewPosition2 ?? 0
|
|
});
|
|
};
|
|
env10649[74] = function dispatchInitialScroll(a0, { forceScroll, resolvedOffset, target, waitForCompletionFrame }) {
|
|
const index3 = target.index;
|
|
let r13 = void 0;
|
|
if (index3 !== void 0) {
|
|
const length = a0.state.props.data.length;
|
|
r13 = length <= 0 ? -1 : index3 >= length ? length - 1 : index3 < 0 ? 0 : index3;
|
|
}
|
|
const r30 = env10649[72];
|
|
const index4 = r13 !== void 0 ? r13 >= 0 ? r13 : void 0 : void 0;
|
|
let itemSize = void 0;
|
|
if (r13 !== void 0) {
|
|
const r37 = r13 < 0;
|
|
itemSize = void 0;
|
|
if (!r37) {
|
|
const r12 = env10649[58];
|
|
const state14 = a0.state;
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r39 = "";
|
|
if (data3) {
|
|
const r42 = r13 < data3.length ? keyExtractor2 ? keyExtractor2(data3[r13], r13) : r13 : null;
|
|
state14.idCache[r13] = r42;
|
|
r39 = r42;
|
|
}
|
|
itemSize = r12(a0, r39, r13, a0.state.props.data[r13]);
|
|
}
|
|
}
|
|
r30(a0, {
|
|
animated: false,
|
|
forceScroll,
|
|
index: index4,
|
|
isInitialScroll: true,
|
|
itemSize,
|
|
offset: resolvedOffset,
|
|
precomputedWithViewOffset: true,
|
|
viewOffset: target.viewOffset,
|
|
viewPosition: target.viewPosition,
|
|
waitForInitialScrollCompletionFrame: waitForCompletionFrame
|
|
});
|
|
};
|
|
env10649[75] = function resolveInitialScrollOffset(a0, a1) {
|
|
let r46;
|
|
const initialScrollSession = a0.state.initialScrollSession;
|
|
if (initialScrollSession?.kind === "offset") {
|
|
const contentOffset = a1.contentOffset;
|
|
r46 = contentOffset ?? 0;
|
|
} else {
|
|
const r7 = env10649[59];
|
|
const index3 = a1.index;
|
|
let r16 = 0;
|
|
if (index3 !== void 0) {
|
|
const index4 = a1.index;
|
|
const state14 = a0.state;
|
|
r16 = index4 !== void 0 && state14.positions[index4] || 0;
|
|
}
|
|
const r19 = r7(a0, r16, a1);
|
|
const state15 = a0.state;
|
|
const r22 = (0, env10649[25])(a0);
|
|
const isFinite2 = Number.isFinite(r22);
|
|
let r27 = r19;
|
|
if (isFinite2) {
|
|
const isFinite3 = Number.isFinite(state15.scrollLength);
|
|
r27 = r19;
|
|
if (isFinite3) {
|
|
const lastLayout = state15.lastLayout;
|
|
r27 = r19;
|
|
if (lastLayout) {
|
|
const r36 = Math.max(0, r22 - state15.scrollLength);
|
|
const viewOffset = a1?.viewOffset;
|
|
r27 = Math.min(r19, r36 + (typeof viewOffset === "number" ? viewOffset < 0 ? -viewOffset : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
r46 = Math.max(0, r27);
|
|
}
|
|
return r46;
|
|
};
|
|
env10649[76] = function advanceCurrentInitialScrollSession(a0, a1) {
|
|
let r34, r36, r109, r111;
|
|
const initialScrollSession = a0.state.initialScrollSession;
|
|
if (initialScrollSession?.kind === "offset") {
|
|
let forceScroll2 = a1?.forceScroll;
|
|
const state16 = a0.state;
|
|
const { didFinishInitialScroll: didFinishInitialScroll2, queuedInitialLayout: queuedInitialLayout3, scrollingTo: scrollingTo3, initialScroll: initialScroll4 } = state16;
|
|
const isInitialScrollInProgress3 = !!scrollingTo3?.isInitialScroll;
|
|
const r108 = false;
|
|
L76: {
|
|
r109 = void 0;
|
|
if (initialScroll4) {
|
|
r109 = void 0;
|
|
if (!r108) {
|
|
r109 = void 0;
|
|
if (!didFinishInitialScroll2) {
|
|
if (scrollingTo3) {
|
|
r109 = void 0;
|
|
if (!isInitialScrollInProgress3) {
|
|
break L76;
|
|
}
|
|
}
|
|
r109 = {
|
|
initialScroll: initialScroll4,
|
|
isInitialScrollInProgress: isInitialScrollInProgress3,
|
|
queuedInitialLayout: queuedInitialLayout3,
|
|
scrollingTo: scrollingTo3
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|
|
L90: {
|
|
r111 = false;
|
|
if (r109) {
|
|
const { initialScroll: initialScroll5, queuedInitialLayout: queuedInitialLayout4 } = r109;
|
|
const contentOffset = initialScroll5.contentOffset;
|
|
const resolvedOffset = contentOffset ?? 0;
|
|
const r125 = Math.abs(state16.scroll - resolvedOffset) <= 1 && Math.abs(state16.scrollPending - resolvedOffset) <= 1;
|
|
if (forceScroll2) {
|
|
r111 = false;
|
|
if (r125) {
|
|
break L90;
|
|
}
|
|
}
|
|
let r133 = !!state16.lastLayout && state16.scrollLength > 0;
|
|
const r135 = env10649[74];
|
|
if (forceScroll2 == null) {
|
|
if (!r133) {
|
|
r133 = !!queuedInitialLayout4;
|
|
}
|
|
forceScroll2 = r133;
|
|
}
|
|
r135(a0, {
|
|
forceScroll: forceScroll2,
|
|
resolvedOffset,
|
|
target: initialScroll5
|
|
});
|
|
r111 = true;
|
|
}
|
|
}
|
|
r36 = r111;
|
|
} else {
|
|
let forceScroll = a1?.forceScroll;
|
|
const state14 = a0.state;
|
|
const { didFinishInitialScroll, queuedInitialLayout, scrollingTo: scrollingTo2, initialScroll: initialScroll2 } = state14;
|
|
const r30 = !scrollingTo2?.isInitialScroll;
|
|
let r32 = !!true && !queuedInitialLayout;
|
|
const isInitialScrollInProgress2 = !r30;
|
|
if (r32) {
|
|
r32 = !isInitialScrollInProgress2;
|
|
}
|
|
L17: {
|
|
r34 = void 0;
|
|
if (initialScroll2) {
|
|
r34 = void 0;
|
|
if (!r32) {
|
|
r34 = void 0;
|
|
if (!didFinishInitialScroll) {
|
|
if (scrollingTo2) {
|
|
r34 = void 0;
|
|
if (!isInitialScrollInProgress2) {
|
|
break L17;
|
|
}
|
|
}
|
|
r34 = {
|
|
initialScroll: initialScroll2,
|
|
isInitialScrollInProgress: isInitialScrollInProgress2,
|
|
queuedInitialLayout,
|
|
scrollingTo: scrollingTo2
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|
|
r36 = false;
|
|
if (r34) {
|
|
const initialScroll3 = r34.initialScroll;
|
|
let isInitialScrollInProgress = r34.isInitialScrollInProgress;
|
|
const queuedInitialLayout2 = r34.queuedInitialLayout;
|
|
const r21 = isInitialScrollInProgress ? r34.scrollingTo : void 0;
|
|
const contentOffset2 = (0, env10649[75])(a0, initialScroll3);
|
|
let r42 = void 0;
|
|
if (r21) {
|
|
let targetOffset2 = r21.targetOffset;
|
|
if (targetOffset2 == null) {
|
|
targetOffset2 = r21.offset;
|
|
}
|
|
r42 = targetOffset2;
|
|
}
|
|
const r44 = initialScroll3.contentOffset === void 0 || Math.abs(initialScroll3.contentOffset - contentOffset2) > 1;
|
|
let r4 = r42 !== void 0;
|
|
const r6 = r4 ? Math.abs(r42 - contentOffset2) > 1 : r4;
|
|
if (r4) {
|
|
r4 = Math.abs(state14.scroll - contentOffset2) <= 1;
|
|
}
|
|
if (r4) {
|
|
r4 = Math.abs(state14.scrollPending - contentOffset2) <= 1;
|
|
}
|
|
let r70 = (forceScroll ? !forceScroll : !r44) && isInitialScrollInProgress && !r6 || (forceScroll ? r4 : forceScroll);
|
|
if (!r70) {
|
|
let r72 = r44;
|
|
if (r44) {
|
|
const initialScrollSession2 = state14.initialScrollSession;
|
|
r72 = initialScrollSession2?.kind !== "offset";
|
|
}
|
|
if (r72) {
|
|
const initialScroll6 = {
|
|
...initialScroll3,
|
|
contentOffset: contentOffset2
|
|
};
|
|
const state15 = a0.state;
|
|
state15.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state15.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state15.timeoutPreservedInitialScrollClear);
|
|
state15.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state15.initialScroll = initialScroll6;
|
|
const r84 = env10649[38];
|
|
const initialScrollSession3 = state15.initialScrollSession;
|
|
r84(state15, {
|
|
kind: initialScrollSession3?.kind === "offset" ? "offset" : "bootstrap"
|
|
});
|
|
}
|
|
const r91 = env10649[74];
|
|
if (forceScroll == null) {
|
|
let r93 = !!queuedInitialLayout2;
|
|
if (!r93) {
|
|
if (isInitialScrollInProgress) {
|
|
isInitialScrollInProgress = r44;
|
|
}
|
|
r93 = isInitialScrollInProgress;
|
|
}
|
|
forceScroll = r93;
|
|
}
|
|
r91(a0, {
|
|
forceScroll,
|
|
resolvedOffset: contentOffset2,
|
|
target: initialScroll3
|
|
});
|
|
r70 = 0;
|
|
}
|
|
r36 = !r70;
|
|
}
|
|
}
|
|
return r36;
|
|
};
|
|
env10649[77] = function checkAllSizesKnown(a0, a1, a2) {
|
|
if (a1 != null && a2 != null && !(a1 < 0) && !(a2 < a1)) {
|
|
let r29 = false;
|
|
for (const item5 of a0.containerItemKeys.keys()) {
|
|
const r35 = a0.indexByKey.get(item5);
|
|
if (r35 === void 0) {
|
|
continue;
|
|
}
|
|
if (!(r35 >= a1)) {
|
|
continue;
|
|
}
|
|
if (!(r35 <= a2)) {
|
|
continue;
|
|
}
|
|
r29 = true;
|
|
const r41 = (0, env10649[49])(a0, r35);
|
|
if (r41 !== void 0 && a0.sizesKnown.has(r41)) {
|
|
continue;
|
|
}
|
|
return false;
|
|
}
|
|
return r29;
|
|
}
|
|
return false;
|
|
};
|
|
env10649[78] = function abortBootstrapRevealIfNeeded(a0, { mountFrameCount, maxFrames = 8, maxPasses = 24, passCount }) {
|
|
let r19;
|
|
const r3 = mountFrameCount >= maxFrames || passCount >= maxPasses;
|
|
L67: {
|
|
r19 = !!r3;
|
|
if (r19) {
|
|
if (c10649_31) {
|
|
console.warn("LegendList bootstrap initial scroll aborted after exceeding convergence bounds.");
|
|
}
|
|
const state14 = a0.state;
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
const r14 = initialScrollSession?.kind === "bootstrap" ? state14.initialScrollSession.bootstrap : void 0;
|
|
const initialScroll2 = state14.initialScroll;
|
|
if (r14 && initialScroll2) {
|
|
const initialScrollSession2 = state14.initialScrollSession;
|
|
if (initialScrollSession2?.kind !== "offset" && state14.refScroller.current) {
|
|
const initialScrollSession3 = state14.initialScrollSession;
|
|
const r41 = initialScrollSession3?.kind === "bootstrap" ? state14.initialScrollSession.bootstrap : void 0;
|
|
const frameHandle = r41?.frameHandle;
|
|
if (frameHandle !== void 0 && typeof globalThis.cancelAnimationFrame === "function") {
|
|
cancelAnimationFrame(frameHandle);
|
|
}
|
|
if (r41) {
|
|
r41.frameHandle = void 0;
|
|
}
|
|
const r50 = env10649[38];
|
|
const initialScrollSession4 = state14.initialScrollSession;
|
|
r50(state14, {
|
|
bootstrap: null,
|
|
kind: initialScrollSession4?.kind
|
|
});
|
|
(0, env10649[74])(a0, {
|
|
forceScroll: true,
|
|
resolvedOffset: r14.scroll,
|
|
target: initialScroll2,
|
|
waitForCompletionFrame: false
|
|
});
|
|
r19 = true;
|
|
break L67;
|
|
}
|
|
}
|
|
const initialScrollSession5 = state14.initialScrollSession;
|
|
const r63 = initialScrollSession5?.kind === "bootstrap" ? state14.initialScrollSession.bootstrap : void 0;
|
|
let r66 = r63?.scroll;
|
|
if (r66 == null) {
|
|
r66 = state14.scrollPending;
|
|
}
|
|
if (r66 == null) {
|
|
r66 = state14.scroll;
|
|
}
|
|
const resolvedOffset = r66 ?? 0;
|
|
const state15 = a0.state;
|
|
const initialScrollSession6 = state15.initialScrollSession;
|
|
const r74 = initialScrollSession6?.kind === "bootstrap" ? state15.initialScrollSession.bootstrap : void 0;
|
|
const frameHandle2 = r74?.frameHandle;
|
|
if (frameHandle2 !== void 0 && typeof globalThis.cancelAnimationFrame === "function") {
|
|
cancelAnimationFrame(frameHandle2);
|
|
}
|
|
if (r74) {
|
|
r74.frameHandle = void 0;
|
|
}
|
|
const r84 = env10649[38];
|
|
const initialScrollSession7 = state15.initialScrollSession;
|
|
r84(state15, {
|
|
bootstrap: null,
|
|
kind: initialScrollSession7?.kind
|
|
});
|
|
const clearPreservedInitialScrollOnNextFinish = state15.clearPreservedInitialScrollOnNextFinish;
|
|
let preserveTarget = clearPreservedInitialScrollOnNextFinish ? !clearPreservedInitialScrollOnNextFinish : state15.props.data.length > 0;
|
|
if (preserveTarget) {
|
|
const initialScroll3 = state15.initialScroll;
|
|
preserveTarget = initialScroll3?.viewPosition === 1;
|
|
}
|
|
(0, env10649[48])(a0, {
|
|
preserveTarget,
|
|
recalculateItems: true,
|
|
resolvedOffset,
|
|
schedulePreservedTargetClear: preserveTarget
|
|
});
|
|
r19 = true;
|
|
}
|
|
}
|
|
return r19;
|
|
};
|
|
env10649[79] = function startBootstrapInitialScrollSession(a0, a1) {
|
|
const initialScrollSession = a0.initialScrollSession;
|
|
const r10 = initialScrollSession?.kind === "bootstrap" ? a0.initialScrollSession.bootstrap : void 0;
|
|
const r14 = env10649[38];
|
|
const frameHandle = r10?.frameHandle;
|
|
const mountFrameCount = r10?.mountFrameCount;
|
|
const mountFrameCount2 = mountFrameCount ?? 0;
|
|
let seedContentOffset = a1.seedContentOffset;
|
|
if (seedContentOffset == null) {
|
|
seedContentOffset = r10?.seedContentOffset;
|
|
}
|
|
if (seedContentOffset == null) {
|
|
seedContentOffset = a1.scroll;
|
|
}
|
|
r14(a0, {
|
|
bootstrap: {
|
|
frameHandle,
|
|
mountFrameCount: mountFrameCount2,
|
|
passCount: 0,
|
|
previousResolvedOffset: void 0,
|
|
scroll: a1.scroll,
|
|
seedContentOffset,
|
|
targetIndexSeed: a1.targetIndexSeed,
|
|
visibleIndices: void 0
|
|
},
|
|
kind: "bootstrap"
|
|
});
|
|
};
|
|
env10649[80] = function rearmBootstrapInitialScroll(a0, a1) {
|
|
const state14 = a0.state;
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
const bootstrap = initialScrollSession?.kind === "bootstrap" ? state14.initialScrollSession.bootstrap : void 0;
|
|
if (bootstrap) {
|
|
bootstrap.passCount = 0;
|
|
bootstrap.previousResolvedOffset = void 0;
|
|
let scroll2 = a1.scroll;
|
|
if (scroll2 == null) {
|
|
scroll2 = bootstrap.scroll;
|
|
}
|
|
bootstrap.scroll = scroll2;
|
|
let seedContentOffset = a1.seedContentOffset;
|
|
if (seedContentOffset == null) {
|
|
seedContentOffset = bootstrap.seedContentOffset;
|
|
}
|
|
bootstrap.seedContentOffset = seedContentOffset;
|
|
let targetIndexSeed = a1.targetIndexSeed;
|
|
if (targetIndexSeed == null) {
|
|
targetIndexSeed = bootstrap.targetIndexSeed;
|
|
}
|
|
bootstrap.targetIndexSeed = targetIndexSeed;
|
|
bootstrap.visibleIndices = void 0;
|
|
(0, env10649[38])(state14, {
|
|
bootstrap,
|
|
kind: "bootstrap"
|
|
});
|
|
} else if (a1.scroll !== void 0) {
|
|
(0, env10649[79])(state14, {
|
|
scroll: a1.scroll,
|
|
seedContentOffset: a1.seedContentOffset,
|
|
targetIndexSeed: a1.targetIndexSeed
|
|
});
|
|
}
|
|
let env21559;
|
|
const r27 = env21559 = {
|
|
$parent: env10649
|
|
};
|
|
env21559[0] = a0;
|
|
const state15 = a0.state;
|
|
env21559[1] = state15;
|
|
const initialScrollSession2 = state15.initialScrollSession;
|
|
const r32 = initialScrollSession2?.kind === "bootstrap" ? state15.initialScrollSession.bootstrap : void 0;
|
|
if (r32 && r32.frameHandle === void 0) {
|
|
r32.frameHandle = requestAnimationFrame($mk95175(r27));
|
|
}
|
|
let env21560;
|
|
const state16 = a0.state;
|
|
const r40 = env21560 = {};
|
|
env21560[0] = state16;
|
|
requestAnimationFrame($mk95174(r40));
|
|
};
|
|
env10649[81] = function clearPendingInitialScrollFooterLayout(a0, { dataLength, stylePaddingBottom: stylePaddingBottom2, target }) {
|
|
if (target?.preserveForFooterLayout) {
|
|
const initialScroll2 = {
|
|
contentOffset: void 0,
|
|
index: Math.max(0, dataLength - 1),
|
|
preserveForBottomPadding: true,
|
|
preserveForFooterLayout: void 0,
|
|
viewOffset: -stylePaddingBottom2 - 0,
|
|
viewPosition: 1
|
|
};
|
|
const state14 = a0.state;
|
|
state14.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state14.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state14.timeoutPreservedInitialScrollClear);
|
|
state14.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state14.initialScroll = initialScroll2;
|
|
const r27 = env10649[38];
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
r27(state14, {
|
|
kind: initialScrollSession?.kind === "offset" ? "offset" : "bootstrap"
|
|
});
|
|
}
|
|
};
|
|
env10649[82] = function didFinishedInitialScrollMoveAwayFromTarget(a0, a1) {
|
|
let r20;
|
|
const r1 = void 0 === void 0 ? 1 : void 0;
|
|
const state14 = a0.state;
|
|
if (state14.didFinishInitialScroll) {
|
|
const current5 = state14.refScroller.current;
|
|
const getCurrentScrollOffset = current5?.getCurrentScrollOffset;
|
|
const r13 = getCurrentScrollOffset == null ? void 0 : getCurrentScrollOffset.call(current5);
|
|
L18: {
|
|
if (typeof r13 === "number") {
|
|
const isFinite2 = Number.isFinite(r13);
|
|
r20 = r13;
|
|
if (isFinite2) {
|
|
break L18;
|
|
}
|
|
}
|
|
let scrollPending = state14.scrollPending;
|
|
if (scrollPending == null) {
|
|
scrollPending = state14.scroll;
|
|
}
|
|
r20 = scrollPending ?? 0;
|
|
}
|
|
return Math.abs(r20 - (0, env10649[75])(a0, a1)) > r1;
|
|
}
|
|
return false;
|
|
};
|
|
env10649[83] = function getPreservedEndAnchorOffsetDiff(a0) {
|
|
let lastNativeScroll;
|
|
const state14 = a0.state;
|
|
const initialScroll2 = state14.initialScroll;
|
|
if (state14.didFinishInitialScroll) {
|
|
const scrollingTo2 = state14.scrollingTo;
|
|
if (!scrollingTo2?.isInitialScroll && initialScroll2 && initialScroll2.viewPosition === 1 && state14.props.data.length !== 0) {
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
if (initialScrollSession?.kind !== "offset") {
|
|
if (typeof state14.lastNativeScroll === "number" && Number.isFinite(state14.lastNativeScroll)) {
|
|
lastNativeScroll = state14.lastNativeScroll;
|
|
} else {
|
|
const current5 = state14.refScroller.current;
|
|
const getCurrentScrollOffset = current5?.getCurrentScrollOffset;
|
|
lastNativeScroll = getCurrentScrollOffset == null ? void 0 : getCurrentScrollOffset.call(current5);
|
|
if (!(typeof lastNativeScroll === "number" && Number.isFinite(lastNativeScroll))) {
|
|
let scrollPending = state14.scrollPending;
|
|
if (scrollPending == null) {
|
|
scrollPending = state14.scroll;
|
|
}
|
|
lastNativeScroll = scrollPending ?? 0;
|
|
}
|
|
}
|
|
return (0, env10649[75])(a0, initialScroll2) - lastNativeScroll;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[84] = function evaluateBootstrapInitialScroll(a0) {
|
|
let r100, r147;
|
|
const state9 = a0.state;
|
|
const initialScrollSession = state9.initialScrollSession;
|
|
const r13 = initialScrollSession?.kind === "bootstrap" ? state9.initialScrollSession.bootstrap : void 0;
|
|
L94: {
|
|
const initialScroll2 = state9.initialScroll;
|
|
if (r13 && initialScroll2) {
|
|
const initialScrollSession2 = state9.initialScrollSession;
|
|
if (initialScrollSession2?.kind !== "offset") {
|
|
const scrollingTo2 = state9.scrollingTo;
|
|
if (!scrollingTo2?.isInitialScroll) {
|
|
r13.passCount = r13.passCount + 1;
|
|
if (!(0, env10649[78])(a0, {
|
|
mountFrameCount: r13.mountFrameCount,
|
|
passCount: r13.passCount
|
|
})) {
|
|
if (initialScroll2.index !== void 0 && state9.startBuffered >= 0 && state9.endBuffered >= 0 && initialScroll2.index >= state9.startBuffered && initialScroll2.index <= state9.endBuffered) {
|
|
r13.targetIndexSeed = void 0;
|
|
}
|
|
const previousResolvedOffset2 = (0, env10649[75])(a0, initialScroll2);
|
|
const r65 = (0, env10649[77])(state9, state9.startBuffered, state9.endBuffered);
|
|
const r9 = Math.abs(r13.scroll - previousResolvedOffset2) > 1;
|
|
const data3 = state9.props.data;
|
|
const length = data3.length;
|
|
const { positions: positions2, scrollLength } = state9;
|
|
let targetIndexSeed = r13.targetIndexSeed;
|
|
if (targetIndexSeed == null) {
|
|
targetIndexSeed = state9.startBuffered >= 0 ? state9.startBuffered : void 0;
|
|
}
|
|
const r22 = previousResolvedOffset2 + scrollLength;
|
|
let r80 = targetIndexSeed !== void 0 ? Math.max(0, Math.min(length - 1, targetIndexSeed)) : 0;
|
|
let r81 = r80;
|
|
if (r81 > 0) {
|
|
do {
|
|
const r82 = r80 - 1;
|
|
const r83 = positions2[r82];
|
|
const r84 = r80;
|
|
if (r83 !== void 0) {
|
|
let r29 = state9.idCache[r82];
|
|
if (r29 == null) {
|
|
const props = state9.props;
|
|
const { data: data4, keyExtractor: keyExtractor2 } = props;
|
|
let r87 = "";
|
|
if (data4) {
|
|
const r89 = r82 < data4.length ? keyExtractor2 ? keyExtractor2(data4[r82], r82) : r82 : null;
|
|
state9.idCache[r82] = r89;
|
|
r87 = r89;
|
|
}
|
|
r29 = r87;
|
|
}
|
|
let r94 = state9.sizes.get(r29);
|
|
const r95 = r29;
|
|
if (r94 == null) {
|
|
r94 = (0, env10649[58])(a0, r95, r82, data3[r82]);
|
|
}
|
|
if (r94 !== void 0) {
|
|
const r97 = r83 + r94;
|
|
r81 = r84;
|
|
if (r97 <= previousResolvedOffset2) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
r80 = r82;
|
|
r81 = r80;
|
|
} while (0 < r81);
|
|
}
|
|
const visibleIndices2 = [];
|
|
while (r81 < length) {
|
|
L63: {
|
|
const r99 = positions2[r81];
|
|
r100 = r81;
|
|
if (r99 !== void 0) {
|
|
let r102 = state9.idCache[r100];
|
|
if (r102 == null) {
|
|
const props2 = state9.props;
|
|
const { data: data5, keyExtractor: keyExtractor3 } = props2;
|
|
let r106 = "";
|
|
if (data5) {
|
|
const r109 = r100 < data5.length ? keyExtractor3 ? keyExtractor3(data5[r100], r100) : r100 : null;
|
|
state9.idCache[r100] = r109;
|
|
r106 = r109;
|
|
}
|
|
r102 = r106;
|
|
}
|
|
let r115 = state9.sizes.get(r102);
|
|
const r116 = r102;
|
|
if (r115 == null) {
|
|
r115 = (0, env10649[58])(a0, r116, r100, data3[r100]);
|
|
}
|
|
if (r115 !== void 0) {
|
|
if (r99 < r22 && r99 + r115 > previousResolvedOffset2) {
|
|
visibleIndices2.push(r100);
|
|
break L63;
|
|
}
|
|
if (visibleIndices2.length > 0 && r99 >= r22) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
r81 = r100 + 1;
|
|
}
|
|
const r128 = visibleIndices2.length > 0 && visibleIndices2.every((item) => {
|
|
let r3 = state9.idCache[item];
|
|
if (r3 == null) {
|
|
const props = state9.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r11 = "";
|
|
if (data3) {
|
|
const r12 = item < data3.length ? keyExtractor2 ? keyExtractor2(data3[item], item) : item : null;
|
|
state9.idCache[item] = r12;
|
|
r11 = r12;
|
|
}
|
|
r3 = r11;
|
|
}
|
|
return state9.sizesKnown.has(r3);
|
|
});
|
|
const { previousResolvedOffset, visibleIndices } = r13;
|
|
r13.previousResolvedOffset = previousResolvedOffset2;
|
|
r13.visibleIndices = visibleIndices2;
|
|
if (r9) {
|
|
let env21563;
|
|
r13.scroll = previousResolvedOffset2;
|
|
const r172 = env21563 = {};
|
|
env21563[0] = state9;
|
|
requestAnimationFrame($mk95174(r172));
|
|
return void 0;
|
|
}
|
|
if (r65 && r128) {
|
|
if (previousResolvedOffset !== void 0 && Math.abs(previousResolvedOffset - previousResolvedOffset2) <= 1) {
|
|
let r137 = false;
|
|
if (visibleIndices) {
|
|
const length2 = visibleIndices.length;
|
|
const length3 = visibleIndices2.length;
|
|
r137 = false;
|
|
if (length2 === length3) {
|
|
const r141 = 0 < visibleIndices.length;
|
|
let r142 = 0;
|
|
r137 = true;
|
|
if (r141) {
|
|
do {
|
|
const r143 = visibleIndices[r142];
|
|
const r144 = visibleIndices2[r142];
|
|
const r1 = r142;
|
|
r137 = false;
|
|
if (r143 !== r144) {
|
|
break;
|
|
}
|
|
const r145 = r1 + 1;
|
|
r147 = r145 < visibleIndices.length;
|
|
r142 = r145;
|
|
r137 = true;
|
|
} while (r147);
|
|
}
|
|
}
|
|
}
|
|
if (r137) {
|
|
const initialScrollSession3 = state9.initialScrollSession;
|
|
const r155 = initialScrollSession3?.kind === "bootstrap" ? state9.initialScrollSession.bootstrap : void 0;
|
|
const frameHandle = r155?.frameHandle;
|
|
if (frameHandle !== void 0 && typeof globalThis.cancelAnimationFrame === "function") {
|
|
cancelAnimationFrame(frameHandle);
|
|
}
|
|
if (r155) {
|
|
r155.frameHandle = void 0;
|
|
}
|
|
const r163 = env10649[38];
|
|
const initialScrollSession4 = state9.initialScrollSession;
|
|
r163(state9, {
|
|
bootstrap: null,
|
|
kind: initialScrollSession4?.kind
|
|
});
|
|
(0, env10649[74])(a0, {
|
|
forceScroll: true,
|
|
resolvedOffset: previousResolvedOffset2,
|
|
target: initialScroll2,
|
|
waitForCompletionFrame: false
|
|
});
|
|
break L94;
|
|
}
|
|
}
|
|
let env21562;
|
|
const r148 = env21562 = {};
|
|
env21562[0] = state9;
|
|
requestAnimationFrame($mk95174(r148));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[85] = function retargetActiveInitialScrollAtEnd(a0) {
|
|
let r18;
|
|
const state14 = a0.state;
|
|
const initialScroll2 = state14.initialScroll;
|
|
if (state14.didFinishInitialScroll) {
|
|
const r24 = (0, env10649[83])(a0);
|
|
let r25 = false;
|
|
if (r24 !== void 0) {
|
|
let env21564;
|
|
const preservedEndAnchorCorrection = {};
|
|
const r27 = env21564 = {
|
|
$parent: env10649
|
|
};
|
|
env21564[0] = a0;
|
|
env21564[1] = preservedEndAnchorCorrection;
|
|
const state15 = a0.state;
|
|
env21564[2] = state15;
|
|
state15.preservedEndAnchorCorrection = preservedEndAnchorCorrection;
|
|
requestAnimationFrame($mk95176(r27));
|
|
r25 = true;
|
|
}
|
|
r18 = r25;
|
|
} else {
|
|
let r1 = !initialScroll2;
|
|
if (initialScroll2) {
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
r1 = initialScrollSession?.kind === "offset";
|
|
}
|
|
if (!r1) {
|
|
r1 = initialScroll2.viewPosition !== 1;
|
|
}
|
|
if (!r1) {
|
|
r1 = state14.props.data.length === 0;
|
|
}
|
|
r18 = r1 ? !r1 : (0, env10649[76])(a0, {
|
|
forceScroll: true
|
|
});
|
|
}
|
|
return r18;
|
|
};
|
|
env10649[86] = function resetLayoutCachesForDataChange(a0) {
|
|
a0.indexByKey.clear();
|
|
a0.idCache.length = 0;
|
|
a0.positions.length = 0;
|
|
a0.columns.length = 0;
|
|
a0.columnSpans.length = 0;
|
|
};
|
|
env10649[87] = function scheduleContainerLayout(a0, a1) {
|
|
let r22, pendingContainerIds3;
|
|
const { pendingContainerIds, pendingContainerIds: pendingContainerIds2 } = a0;
|
|
if (a1 === void 0) {
|
|
a0.pendingContainerIds = null;
|
|
} else if (pendingContainerIds2 !== null) {
|
|
if (pendingContainerIds2) {
|
|
if (typeof a1 === "number") {
|
|
pendingContainerIds2.add(a1);
|
|
pendingContainerIds3 = pendingContainerIds2;
|
|
} else {
|
|
let r33 = a1[Symbol.iterator]();
|
|
const next = r33.next;
|
|
while (true) {
|
|
const r9 = r33 === void 0 ? void 0 : (r22 = next.call(r33)).done ? r33 = void 0 : r22.value;
|
|
const r36 = r33;
|
|
pendingContainerIds3 = pendingContainerIds2;
|
|
if (r36 === void 0) {
|
|
break;
|
|
}
|
|
try {
|
|
pendingContainerIds2.add(r9);
|
|
} catch (r39) {
|
|
if (r33 !== void 0 && typeof r33.return === "function") {
|
|
try {
|
|
r33.return();
|
|
} catch {}
|
|
}
|
|
throw r39;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
pendingContainerIds3 = typeof a1 === "number" ? new Set([a1]) : new Set(a1);
|
|
}
|
|
a0.pendingContainerIds = pendingContainerIds3;
|
|
}
|
|
if (pendingContainerIds === void 0) {
|
|
const r44 = env10649[22];
|
|
const r47 = (0, env10649[21])(a0, "containerLayoutEpoch");
|
|
r44(a0, "containerLayoutEpoch", (r47 ?? 0) + 1);
|
|
}
|
|
};
|
|
env10649[88] = function syncMountedContainer(a0, a1, a2, a3) {
|
|
let didRefreshData;
|
|
const state14 = a0.state;
|
|
const { columns, columnSpans, positions: positions2, props } = state14;
|
|
const { data: data3, itemsAreEqual, keyExtractor: keyExtractor2 } = props;
|
|
const r15 = data3[a2];
|
|
if (r15 === void 0) {
|
|
return {
|
|
didChangePosition: false,
|
|
didRefreshData: false
|
|
};
|
|
}
|
|
let r22 = state14.idCache[a2];
|
|
if (r22 == null) {
|
|
const props3 = state14.props;
|
|
const { data: data4, keyExtractor: keyExtractor3 } = props3;
|
|
let r39 = "";
|
|
if (data4) {
|
|
const r40 = a2 < data4.length ? keyExtractor3 ? keyExtractor3(data4[a2], a2) : a2 : null;
|
|
state14.idCache[a2] = r40;
|
|
r39 = r40;
|
|
}
|
|
r22 = r39;
|
|
}
|
|
const updateLayout = a3.updateLayout;
|
|
const r45 = updateLayout == null || updateLayout;
|
|
let didChangePosition = false;
|
|
if (r45) {
|
|
let r47 = positions2[a2];
|
|
if (r47 === void 0) {
|
|
(0, env10649[22])(a0, `containerPosition${a1}`, c10649_32);
|
|
return {
|
|
didChangePosition: false,
|
|
didRefreshData: false
|
|
};
|
|
}
|
|
if (!r47) {
|
|
r47 = 0;
|
|
}
|
|
const scrollAdjustPending = a3.scrollAdjustPending;
|
|
const r51 = r47 - (scrollAdjustPending ?? 0);
|
|
let r54 = state14.sizes.get(r22);
|
|
if (r54 == null) {
|
|
r54 = (0, env10649[58])(a0, r22, a2, r15);
|
|
}
|
|
const r59 = a0.values.get("totalSize");
|
|
const props2 = state14?.props;
|
|
let r64 = !!props2?.horizontal;
|
|
if (r64) {
|
|
let r66 = props2?.rtl;
|
|
if (r66 == null) {
|
|
r66 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r64 = r66;
|
|
}
|
|
const r29 = r64 ? r59 !== void 0 ? Number.isFinite(r59) ? Math.max(0, r59 - r51 - r54) : r51 : r51 : r51;
|
|
const r79 = columns[a2] || 1;
|
|
const r80 = columnSpans[a2] || 1;
|
|
const r87 = a0.values.get(`containerPosition${a1}`);
|
|
const r94 = a0.values.get(`containerColumn${a1}`);
|
|
const r99 = a0.values.get(`containerSpan${a1}`);
|
|
const r5 = r29 > c10649_32 && r29 !== r87;
|
|
let r101 = false;
|
|
if (r5) {
|
|
(0, env10649[22])(a0, `containerPosition${a1}`, r29);
|
|
r101 = true;
|
|
}
|
|
if (r79 >= 0 && r79 !== r94) {
|
|
(0, env10649[22])(a0, `containerColumn${a1}`, r79);
|
|
}
|
|
didChangePosition = r101;
|
|
if (r80 !== r99) {
|
|
(0, env10649[22])(a0, `containerSpan${a1}`, r80);
|
|
didChangePosition = r101;
|
|
}
|
|
}
|
|
if (a0.values.get(`containerItemIndex${a1}`) !== a2) {
|
|
(0, env10649[22])(a0, `containerItemIndex${a1}`, a2);
|
|
}
|
|
L89: {
|
|
const r138 = a0.values.get(`containerItemData${a1}`);
|
|
didRefreshData = false;
|
|
if (r138 !== r15) {
|
|
const pendingDataComparison = state14.pendingDataComparison;
|
|
const previousData = pendingDataComparison?.previousData;
|
|
const previousData2 = state14.previousData;
|
|
let r144 = void 0;
|
|
if (previousData === previousData2) {
|
|
const pendingDataComparison2 = state14.pendingDataComparison;
|
|
r144 = pendingDataComparison2?.nextData === data3 ? state14.pendingDataComparison : void 0;
|
|
}
|
|
const r149 = r144 == null ? void 0 : r144.byIndex[a2];
|
|
const r153 = r149 ?? 0;
|
|
let r2 = 2;
|
|
if (r153 === 2) {
|
|
(0, env10649[22])(a0, `containerItemData${a1}`, r15);
|
|
didRefreshData = true;
|
|
} else {
|
|
didRefreshData = false;
|
|
if (r153 !== 1) {
|
|
const r160 = a0.values.get(`containerItemKey${a1}`);
|
|
if (r160 != null) {
|
|
r22 = r160;
|
|
}
|
|
const r162 = keyExtractor2 == null ? void 0 : keyExtractor2(r138, a2);
|
|
if (r138 !== void 0 && keyExtractor2 && r162 === r22) {
|
|
if (itemsAreEqual) {
|
|
const r178 = itemsAreEqual(r138, r15, a2, data3);
|
|
if (!(state14.pendingDataComparison && state14.pendingDataComparison.previousData === state14.previousData && state14.pendingDataComparison.nextData === data3) && state14.previousData) {
|
|
state14.pendingDataComparison = {
|
|
byIndex: [],
|
|
nextData: data3,
|
|
previousData: state14.previousData
|
|
};
|
|
}
|
|
const pendingDataComparison3 = state14.pendingDataComparison;
|
|
if (pendingDataComparison3?.byIndex) {
|
|
const byIndex = state14.pendingDataComparison.byIndex;
|
|
if (r178) {
|
|
r2 = 1;
|
|
}
|
|
byIndex[a2] = r2;
|
|
}
|
|
didRefreshData = false;
|
|
if (r178) {
|
|
break L89;
|
|
}
|
|
(0, env10649[22])(a0, `containerItemData${a1}`, r15);
|
|
didRefreshData = true;
|
|
break L89;
|
|
}
|
|
(0, env10649[22])(a0, `containerItemData${a1}`, r15);
|
|
didRefreshData = true;
|
|
break L89;
|
|
}
|
|
(0, env10649[22])(a0, `containerItemData${a1}`, r15);
|
|
didRefreshData = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return {
|
|
didChangePosition,
|
|
didRefreshData
|
|
};
|
|
};
|
|
env10649[89] = function updateItemPositions(a0, a1, r16 = {
|
|
doMVCP: false,
|
|
forceFullUpdate: false,
|
|
optimizeForVisibleWindow: false,
|
|
scrollBottomBuffered: -1,
|
|
startIndex: 0
|
|
}) {
|
|
let r49, r132, r250, r251, r252, r255;
|
|
const { doMVCP, forceFullUpdate = false } = r16;
|
|
let optimizeForVisibleWindow = r16.optimizeForVisibleWindow;
|
|
if (optimizeForVisibleWindow === void 0) {
|
|
optimizeForVisibleWindow = false;
|
|
}
|
|
const scrollBottomBuffered = r16.scrollBottomBuffered;
|
|
let scrollVelocity = r16.scrollVelocity;
|
|
const startIndex = r16.startIndex;
|
|
const state14 = a0.state;
|
|
const r14 = a0.positionListeners.size > 0;
|
|
const { columns, columnSpans, indexByKey: indexByKey2, positions: positions2, idCache, sizesKnown, props: props2 } = state14;
|
|
const { data: data3, overrideItemLayout, snapToIndices: snapToIndices2 } = props2;
|
|
const scrollingTo2 = state14.scrollingTo;
|
|
const length = data3.length;
|
|
const r75 = a0.values.get("numColumns");
|
|
const r37 = r75 ?? 1;
|
|
const r13 = r37 > 1;
|
|
const r36 = c10649_31 ? new Map() : void 0;
|
|
const r35 = a0.values.get("extraData");
|
|
const r34 = overrideItemLayout ? {
|
|
span: 1
|
|
} : void 0;
|
|
state14.lastScrollDelta;
|
|
if (scrollVelocity == null) {
|
|
scrollVelocity = getScrollVelocity(state14);
|
|
}
|
|
let r32 = forceFullUpdate ? !forceFullUpdate : !a1;
|
|
if (r32) {
|
|
if (!optimizeForVisibleWindow) {
|
|
optimizeForVisibleWindow = Math.abs(scrollVelocity) > 0;
|
|
}
|
|
if (!optimizeForVisibleWindow) {
|
|
optimizeForVisibleWindow = false;
|
|
}
|
|
r32 = optimizeForVisibleWindow;
|
|
}
|
|
const r31 = scrollBottomBuffered + 1000;
|
|
let r30 = (doMVCP ? a1 : !doMVCP) || state14.scrollAdjustHandler.getAdjust() !== 0;
|
|
if (!r30) {
|
|
const r95 = a0.values.get("scrollAdjustPending");
|
|
r30 = (r95 ?? 0) !== 0;
|
|
}
|
|
if (a1) {
|
|
columnSpans.length = 0;
|
|
}
|
|
if (!r13) {
|
|
if (columns.length) {
|
|
columns.length = 0;
|
|
}
|
|
if (columnSpans.length) {
|
|
columnSpans.length = 0;
|
|
}
|
|
}
|
|
const r100 = startIndex > 0;
|
|
let r29 = 0;
|
|
let r101 = startIndex;
|
|
if (r100) {
|
|
if (r13) {
|
|
const state15 = a0.state;
|
|
const r124 = a0.values.get("numColumns");
|
|
const r126 = state15.columns[startIndex];
|
|
let r127 = startIndex;
|
|
if (r126 !== 1) {
|
|
if (r124 <= 1) {
|
|
r132 = Math.max(0, startIndex);
|
|
} else {
|
|
let r131 = Math.max(0, startIndex);
|
|
r132 = r131;
|
|
while (r132 > 0) {
|
|
const r134 = state15.columns[r131];
|
|
const r135 = r131;
|
|
r132 = r135;
|
|
if (r134 === 1) {
|
|
break;
|
|
}
|
|
r131 = r135 - 1;
|
|
r132 = r131;
|
|
}
|
|
}
|
|
r127 = r132;
|
|
}
|
|
state15.columns[r127];
|
|
const r141 = r127 > 0;
|
|
let r142 = 0;
|
|
if (r141) {
|
|
const r143 = r127 - 1;
|
|
const r145 = state15.positions[r143];
|
|
const r147 = r145 ?? 0;
|
|
if (r124 <= 1) {
|
|
r49 = Math.max(0, r143);
|
|
} else {
|
|
let r151 = Math.max(0, r143);
|
|
r49 = r151;
|
|
while (r49 > 0) {
|
|
const r153 = state15.columns[r151];
|
|
const r154 = r151;
|
|
r49 = r154;
|
|
if (r153 === 1) {
|
|
break;
|
|
}
|
|
r151 = r154 - 1;
|
|
r49 = r151;
|
|
}
|
|
}
|
|
const state16 = a0.state;
|
|
const r159 = r143 < r49;
|
|
let r160 = 0;
|
|
if (!r159) {
|
|
const data6 = state16.props.data;
|
|
r160 = 0;
|
|
if (data6) {
|
|
const r6 = r49 <= r143;
|
|
let r163 = 0;
|
|
let r164 = 0;
|
|
if (r6) {
|
|
do {
|
|
const r50 = r49;
|
|
const r53 = r163;
|
|
let r51 = r53;
|
|
if (!(r50 < 0)) {
|
|
const length2 = data6.length;
|
|
r51 = r53;
|
|
if (!(r50 >= length2)) {
|
|
const r172 = (0, env10649[58])(a0, state16.idCache[r50], r50, data6[r50], true);
|
|
r51 = r53;
|
|
if (r172 > r51) {
|
|
r51 = r172;
|
|
}
|
|
}
|
|
}
|
|
r49 = r50 + 1;
|
|
r163 = r51;
|
|
r164 = r163;
|
|
} while (r49 <= r143);
|
|
}
|
|
r160 = r164;
|
|
}
|
|
}
|
|
r142 = r147 + r160;
|
|
}
|
|
r29 = r142;
|
|
r101 = r127;
|
|
} else {
|
|
const r102 = startIndex < length;
|
|
r29 = 0;
|
|
r101 = startIndex;
|
|
if (r102) {
|
|
const r103 = startIndex - 1;
|
|
const props3 = state14.props;
|
|
const { data: data5, keyExtractor: keyExtractor3 } = props3;
|
|
let r107 = "";
|
|
if (data5) {
|
|
const r110 = r103 < data5.length ? keyExtractor3 ? keyExtractor3(data5[r103], r103) : r103 : null;
|
|
state14.idCache[r103] = r110;
|
|
r107 = r110;
|
|
}
|
|
const r114 = positions2[r103];
|
|
const r116 = r114 ?? 0;
|
|
let r118 = sizesKnown.get(r107);
|
|
if (r118 == null) {
|
|
r118 = (0, env10649[58])(a0, r107, r103, data3[r103], true, r30, false);
|
|
}
|
|
r29 = r116 + r118;
|
|
r101 = startIndex;
|
|
}
|
|
}
|
|
}
|
|
const r173 = a1 ? a1 : indexByKey2.size === 0;
|
|
const r12 = (r13 ? !!overrideItemLayout : r13) && !!r34;
|
|
const r177 = r101 < length;
|
|
const r179 = ") which causes missing items and gaps and other terrrible things. Check that keyExtractor returns unique values.";
|
|
let r183 = void 0;
|
|
let r184 = 0;
|
|
let r185 = 1;
|
|
let r186 = false;
|
|
if (r177) {
|
|
do {
|
|
const r187 = r101;
|
|
const r188 = r183;
|
|
const r189 = r184;
|
|
let r57 = r185;
|
|
const r190 = r29;
|
|
if (r32 && r188 !== void 0) {
|
|
const r191 = r187 > r188;
|
|
r186 = true;
|
|
if (r191) {
|
|
break;
|
|
}
|
|
}
|
|
let r192 = r188;
|
|
if (r32) {
|
|
r192 = r188;
|
|
if (r192 === void 0) {
|
|
r192 = scrollingTo2 ? r188 : a1 ? r188 : r190 > r31 ? r187 + (r13 ? r37 : 1) + 10 : r188;
|
|
}
|
|
}
|
|
let r195 = idCache[r187];
|
|
if (r195 == null) {
|
|
const props = state14.props;
|
|
const { data: data4, keyExtractor: keyExtractor2 } = props;
|
|
let r196 = "";
|
|
if (data4) {
|
|
const r199 = r187 < data4.length ? keyExtractor2 ? keyExtractor2(data4[r187], r187) : r187 : null;
|
|
state14.idCache[r187] = r199;
|
|
r196 = r199;
|
|
}
|
|
r195 = r196;
|
|
}
|
|
let r202 = 1;
|
|
if (r12) {
|
|
r34.span = 1;
|
|
overrideItemLayout(r34, data3[r187], r187, r37, r35);
|
|
const span = r34.span;
|
|
r202 = span !== void 0 && Number.isFinite(span) ? Math.max(1, Math.min(r37, Math.round(span))) : 1;
|
|
}
|
|
const r219 = r13 && r57 + r202 - 1 > r37;
|
|
let r221 = r189;
|
|
let r222 = r190;
|
|
if (r219) {
|
|
r222 = r190 + r189;
|
|
r221 = 0;
|
|
r57 = 1;
|
|
}
|
|
let r224 = sizesKnown.get(r195);
|
|
if (r224 === void 0) {
|
|
r224 = (0, env10649[58])(a0, r195, r187, data3[r187], true, r30, false);
|
|
}
|
|
if (c10649_31 && r173) {
|
|
if (r36.has(r195)) {
|
|
console.error(`[legend-list] Error: Detected overlapping key (${r195}${r179}`);
|
|
}
|
|
r36.set(r195, r187);
|
|
}
|
|
if (r222 !== positions2[r187]) {
|
|
positions2[r187] = r222;
|
|
if (r14) {
|
|
(0, env10649[23])(a0, r195, r222);
|
|
}
|
|
}
|
|
if (r173) {
|
|
indexByKey2.set(r195, r187);
|
|
}
|
|
if (r13) {
|
|
columns[r187] = r57;
|
|
columnSpans[r187] = r202;
|
|
const r253 = r224 > r221 ? r224 : r221;
|
|
r252 = r57 + r202;
|
|
r251 = r253;
|
|
r250 = r222;
|
|
if (r252 > r37) {
|
|
r250 = r222 + r253;
|
|
r251 = 0;
|
|
r252 = 1;
|
|
}
|
|
} else {
|
|
r250 = r222 + r224;
|
|
r251 = r221;
|
|
r252 = r57;
|
|
}
|
|
const r254 = r187 + 1;
|
|
r255 = r254 < length;
|
|
r184 = r251;
|
|
r185 = r252;
|
|
r29 = r250;
|
|
r101 = r254;
|
|
r183 = r192;
|
|
r186 = false;
|
|
} while (r255);
|
|
}
|
|
L194: {
|
|
if (!r186) {
|
|
const state17 = a0.state;
|
|
const positions3 = state17.positions;
|
|
const data7 = state17.props.data;
|
|
const r262 = a0.values.get("numColumns");
|
|
const r264 = r262 ?? 1;
|
|
if (data7.length === 0) {
|
|
const state20 = a0.state;
|
|
const totalSize3 = state20.totalSize;
|
|
state20.totalSize;
|
|
if (state20.timeoutSetPaddingTop) {
|
|
clearTimeout(state20.timeoutSetPaddingTop);
|
|
state20.timeoutSetPaddingTop = void 0;
|
|
}
|
|
if (totalSize3 !== 0) {
|
|
if (!c10649_27 && state20.initialScroll && 0 < totalSize3) {
|
|
state20.pendingTotalSize = 0;
|
|
break L194;
|
|
}
|
|
state20.pendingTotalSize = void 0;
|
|
state20.totalSize = 0;
|
|
(0, env10649[22])(a0, "totalSize", 0);
|
|
(0, env10649[50])(a0);
|
|
} else if (a0.values.get("totalSize") !== 0) {
|
|
(0, env10649[22])(a0, "totalSize", 0);
|
|
}
|
|
} else {
|
|
const r267 = data7.length - 1;
|
|
const props4 = state17.props;
|
|
const { data: data8, keyExtractor: keyExtractor4 } = props4;
|
|
let r271 = "";
|
|
if (data8) {
|
|
const r274 = r267 < data8.length ? keyExtractor4 ? keyExtractor4(data8[r267], r267) : r267 : null;
|
|
state17.idCache[r267] = r274;
|
|
r271 = r274;
|
|
}
|
|
const r278 = positions3[r267];
|
|
if (r271 !== void 0 && r278 !== void 0) {
|
|
if (r264 > 1) {
|
|
let r1 = r267;
|
|
let r307 = r1;
|
|
while (0 < r307) {
|
|
const r309 = state17.columns[r1];
|
|
const r5 = r1;
|
|
r307 = r5;
|
|
if (r309 === 1) {
|
|
break;
|
|
}
|
|
r307 = r5;
|
|
if (r309 === void 0) {
|
|
break;
|
|
}
|
|
r1 = r5 - 1;
|
|
r307 = r1;
|
|
}
|
|
let r310 = 0;
|
|
let r311 = 0;
|
|
while (r307 <= r267) {
|
|
const r312 = env10649[58];
|
|
let r314 = state17.idCache[r307];
|
|
const r315 = r307;
|
|
let r316 = r310;
|
|
if (r314 == null) {
|
|
const props5 = state17.props;
|
|
const { data: data9, keyExtractor: keyExtractor5 } = props5;
|
|
let r320 = "";
|
|
if (data9) {
|
|
const r323 = r315 < data9.length ? keyExtractor5 ? keyExtractor5(data9[r315], r315) : r315 : null;
|
|
state17.idCache[r315] = r323;
|
|
r320 = r323;
|
|
}
|
|
r314 = r320;
|
|
}
|
|
const r332 = r312(a0, r314, r315, data7[r315]);
|
|
if (r332 > r316) {
|
|
r316 = r332;
|
|
}
|
|
r307 = r315 + 1;
|
|
r310 = r316;
|
|
r311 = r310;
|
|
}
|
|
const pendingTotalSize2 = r278 + r311;
|
|
const state19 = a0.state;
|
|
const totalSize2 = state19.totalSize;
|
|
state19.totalSize;
|
|
if (state19.timeoutSetPaddingTop) {
|
|
clearTimeout(state19.timeoutSetPaddingTop);
|
|
state19.timeoutSetPaddingTop = void 0;
|
|
}
|
|
if (totalSize2 !== pendingTotalSize2) {
|
|
if (!c10649_27 && state19.initialScroll && pendingTotalSize2 < totalSize2) {
|
|
state19.pendingTotalSize = pendingTotalSize2;
|
|
break L194;
|
|
}
|
|
state19.pendingTotalSize = void 0;
|
|
state19.totalSize = pendingTotalSize2;
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize2);
|
|
(0, env10649[50])(a0);
|
|
} else if (a0.values.get("totalSize") !== pendingTotalSize2) {
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize2);
|
|
}
|
|
} else {
|
|
const r285 = (0, env10649[58])(a0, r271, r267, data7[r267]);
|
|
if (r285 !== void 0) {
|
|
const pendingTotalSize = r278 + r285;
|
|
const state18 = a0.state;
|
|
const totalSize = state18.totalSize;
|
|
state18.totalSize;
|
|
if (state18.timeoutSetPaddingTop) {
|
|
clearTimeout(state18.timeoutSetPaddingTop);
|
|
state18.timeoutSetPaddingTop = void 0;
|
|
}
|
|
if (totalSize !== pendingTotalSize) {
|
|
if (!c10649_27 && state18.initialScroll && pendingTotalSize < totalSize) {
|
|
state18.pendingTotalSize = pendingTotalSize;
|
|
break L194;
|
|
}
|
|
state18.pendingTotalSize = void 0;
|
|
state18.totalSize = pendingTotalSize;
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize);
|
|
(0, env10649[50])(a0);
|
|
} else if (a0.values.get("totalSize") !== pendingTotalSize) {
|
|
(0, env10649[22])(a0, "totalSize", pendingTotalSize);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (snapToIndices2) {
|
|
const state21 = a0.state;
|
|
const snapToIndices3 = state21.props.snapToIndices;
|
|
const r379 = state21.props.horizontal ? (0, env10649[25])(a0) : void 0;
|
|
const r383 = Array(snapToIndices3.length);
|
|
const r385 = 0 < snapToIndices3.length;
|
|
let r386 = 0;
|
|
if (r385) {
|
|
do {
|
|
const r387 = snapToIndices3[r386];
|
|
const props6 = state21.props;
|
|
const { data: data10, keyExtractor: keyExtractor6 } = props6;
|
|
const r391 = r386;
|
|
if (data10) {
|
|
state21.idCache[r387] = r387 < data10.length ? keyExtractor6 ? keyExtractor6(data10[r387], r387) : r387 : null;
|
|
}
|
|
r383[r391] = (0, env10649[15])(state21, state21.positions[r387], r379);
|
|
r386 = r391 + 1;
|
|
} while (r386 < snapToIndices3.length);
|
|
}
|
|
(0, env10649[22])(a0, "snapToOffsets", r383);
|
|
}
|
|
};
|
|
env10649[90] = function ensureViewabilityState(a0, a1) {
|
|
let mapViewabilityConfigStates = a0.mapViewabilityConfigStates;
|
|
if (!mapViewabilityConfigStates) {
|
|
const map = new Map();
|
|
a0.mapViewabilityConfigStates = map;
|
|
mapViewabilityConfigStates = map;
|
|
}
|
|
let r12 = mapViewabilityConfigStates.get(a1);
|
|
const r13 = mapViewabilityConfigStates;
|
|
if (!r12) {
|
|
const r15 = {
|
|
end: -1,
|
|
endBuffered: -1,
|
|
previousEnd: -1,
|
|
previousStart: -1,
|
|
start: -1,
|
|
startBuffered: -1,
|
|
viewableItems: []
|
|
};
|
|
r13.set(a1, r15);
|
|
r12 = r15;
|
|
}
|
|
return r12;
|
|
};
|
|
env10649[91] = function updateViewableItems(a0, c21565_1, a2, c21565_2, a4, a5) {
|
|
let c21565_0 = a0;
|
|
const start = a4;
|
|
const end = a5;
|
|
let r4 = arguments[6];
|
|
if (r4 === void 0) {
|
|
r4 = a4;
|
|
}
|
|
const startBuffered = r4;
|
|
let r20 = arguments[7];
|
|
if (r20 === void 0) {
|
|
r20 = a5;
|
|
}
|
|
const endBuffered = r20;
|
|
const timeouts = a0.timeouts;
|
|
const data2 = a0.props.data;
|
|
const _loop = function _loop(a0) {
|
|
let c27896_1;
|
|
const id4 = a0.viewabilityConfig.id;
|
|
let mapViewabilityConfigStates = c21565_1.mapViewabilityConfigStates;
|
|
if (!mapViewabilityConfigStates) {
|
|
const map = new Map();
|
|
c21565_1.mapViewabilityConfigStates = map;
|
|
mapViewabilityConfigStates = map;
|
|
}
|
|
const r22 = mapViewabilityConfigStates.get(id4);
|
|
const r8 = mapViewabilityConfigStates;
|
|
let r23 = r22;
|
|
if (!r23) {
|
|
const r25 = {
|
|
end: -1,
|
|
endBuffered: -1,
|
|
previousEnd: -1,
|
|
previousStart: -1,
|
|
start: -1,
|
|
startBuffered: -1,
|
|
viewableItems: []
|
|
};
|
|
r8.set(id4, r25);
|
|
r23 = r25;
|
|
}
|
|
r23.start = start;
|
|
r23.end = end;
|
|
r23.startBuffered = startBuffered;
|
|
r23.endBuffered = endBuffered;
|
|
if (a0.viewabilityConfig.minimumViewTime) {
|
|
const r43 = setTimeout(() => {
|
|
timeouts.delete(c27896_1);
|
|
(0, env10649[92])(data2, a0, c21565_0, c21565_1, c21565_2);
|
|
}, a0.viewabilityConfig.minimumViewTime);
|
|
c27896_1 = r43;
|
|
timeouts.add(r43);
|
|
} else {
|
|
(0, env10649[92])(data2, a0, c21565_0, c21565_1, c21565_2);
|
|
}
|
|
};
|
|
for (const item5 of a2) {
|
|
_loop(item5);
|
|
}
|
|
};
|
|
env10649[92] = function updateViewableItemsWithConfig(a0, a1, a2, a3, a4) {
|
|
let r1 = void 0;
|
|
const { viewabilityConfig: viewabilityConfig2, onViewableItemsChanged: onViewableItemsChanged2 } = a1;
|
|
const id4 = viewabilityConfig2.id;
|
|
const r56 = (0, env10649[90])(a3, id4);
|
|
const { viewableItems, start: start2, end: end2, startBuffered: startBuffered2, endBuffered: endBuffered2 } = r56;
|
|
for (const mapViewabilityAmountValue of a3.mapViewabilityAmountValues) {
|
|
const r61 = (0, env10649[4])(mapViewabilityAmountValue, 2);
|
|
const r32 = r61[0];
|
|
const r63 = r61[1];
|
|
if ((0, env10649[94])(a2, a3, viewabilityConfig2, r32, r63.key, a4, r63.item, r63.index).sizeVisible < 0) {
|
|
if (r1 == null) {
|
|
r1 = [];
|
|
}
|
|
r1.push(r32);
|
|
}
|
|
}
|
|
const changed = [];
|
|
const set2 = new Set();
|
|
if (viewableItems) {
|
|
for (const item5 of viewableItems) {
|
|
const r86 = item5;
|
|
set2.add(item5.key);
|
|
const r93 = a2.indexByKey.get(item5.key);
|
|
const r97 = r93 !== void 0 ? a0[r93] : void 0;
|
|
const r101 = (0, env10649[56])(a3, r86.key);
|
|
if (!(r93 !== void 0 && r97 !== void 0 ? (0, env10649[95])(a2, a3, viewabilityConfig2, r101, r86.key, a4, r97, r93) : false)) {
|
|
changed.push({
|
|
...r86,
|
|
index: r93 ?? r86.index,
|
|
isViewable: false,
|
|
item: r97 ?? r86.item
|
|
});
|
|
}
|
|
}
|
|
}
|
|
const viewableItems2 = [];
|
|
let r131 = start2;
|
|
while (r131 <= end2) {
|
|
const item7 = a0[r131];
|
|
const index3 = r131;
|
|
if (item7) {
|
|
const key = (0, env10649[49])(a2, index3);
|
|
const containerId3 = (0, env10649[56])(a3, key);
|
|
if ((0, env10649[95])(a2, a3, viewabilityConfig2, containerId3, key, a4, item7, index3)) {
|
|
const r149 = {
|
|
containerId: containerId3,
|
|
index: index3,
|
|
isViewable: true,
|
|
item: item7,
|
|
key
|
|
};
|
|
viewableItems2.push(r149);
|
|
if (!set2.has(r149.key)) {
|
|
changed.push(r149);
|
|
}
|
|
}
|
|
}
|
|
r131 = index3 + 1;
|
|
}
|
|
Object.assign(r56, {
|
|
previousEnd: end2,
|
|
previousStart: start2,
|
|
viewableItems: viewableItems2
|
|
});
|
|
if (changed.length > 0) {
|
|
r56.viewableItems = viewableItems2;
|
|
const r163 = 0 < changed.length;
|
|
let r165 = 0;
|
|
if (r163) {
|
|
do {
|
|
const r166 = changed[r165];
|
|
(0, env10649[96])(a3, id4, r166.containerId, r166);
|
|
r165 = r165 + 1;
|
|
} while (r165 < changed.length);
|
|
}
|
|
if (onViewableItemsChanged2) {
|
|
onViewableItemsChanged2({
|
|
changed,
|
|
end: end2,
|
|
endBuffered: endBuffered2,
|
|
start: start2,
|
|
startBuffered: startBuffered2,
|
|
viewableItems: viewableItems2
|
|
});
|
|
}
|
|
}
|
|
if (r1) {
|
|
for (const item6 of r1) {
|
|
const r185 = item6;
|
|
let r188 = a3.mapViewabilityAmountValues.get(item6);
|
|
const r189 = r188;
|
|
if (r188) {
|
|
r188 = r189.sizeVisible < 0;
|
|
}
|
|
if (r188) {
|
|
a3.mapViewabilityAmountValues.delete(r185);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
env10649[93] = function areViewabilityAmountTokensEqual(a0, a1) {
|
|
return !!a0 && a0.containerId === a1.containerId && a0.index === a1.index && a0.isViewable === a1.isViewable && a0.item === a1.item && a0.key === a1.key && a0.percentOfScroller === a1.percentOfScroller && a0.percentVisible === a1.percentVisible && a0.scrollSize === a1.scrollSize && a0.size === a1.size && a0.sizeVisible === a1.sizeVisible;
|
|
};
|
|
env10649[94] = function computeViewability(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
const { sizes, scroll: scroll2 } = a0;
|
|
const r34 = (a1.values.get("stylePaddingTop") || 0) + (a1.values.get("alignItemsAtEndPadding") || 0) + (a1.values.get("headerSize") || 0);
|
|
let itemVisiblePercentThreshold = a2.itemVisiblePercentThreshold;
|
|
const viewAreaCoveragePercentThreshold = a2.viewAreaCoveragePercentThreshold;
|
|
const r7 = viewAreaCoveragePercentThreshold != null;
|
|
if (r7) {
|
|
itemVisiblePercentThreshold = viewAreaCoveragePercentThreshold;
|
|
}
|
|
const r18 = scroll2 - r34;
|
|
const r38 = a0.positions[a7];
|
|
const size = sizes.get(a4) || 0;
|
|
if (r38 === void 0) {
|
|
const r71 = {
|
|
containerId: a3,
|
|
index: a7,
|
|
isViewable: false,
|
|
item: a6,
|
|
key: a4,
|
|
percentOfScroller: 0,
|
|
percentVisible: 0,
|
|
scrollSize: a5,
|
|
size,
|
|
sizeVisible: -1
|
|
};
|
|
if (!(0, env10649[93])(a1.mapViewabilityAmountValues.get(a3), r71)) {
|
|
a1.mapViewabilityAmountValues.set(a3, r71);
|
|
const r83 = a1.mapViewabilityAmountCallbacks.get(a3);
|
|
if (r83) {
|
|
r83(r71);
|
|
}
|
|
}
|
|
return r71;
|
|
}
|
|
const r22 = r38 - r18;
|
|
const r23 = r22 + size;
|
|
const r5 = r22 >= 0 && r23 <= a5 && r23 > r22;
|
|
const sizeVisible = r5 ? size : Math.min(r23, a5) - Math.max(r22, 0);
|
|
const percentVisible = size ? r5 ? 100 : sizeVisible / size * 100 : 0;
|
|
const percentOfScroller = size ? sizeVisible / a5 * 100 : 0;
|
|
const r56 = {
|
|
containerId: a3,
|
|
index: a7,
|
|
isViewable: (r5 ? 100 : r7 ? percentOfScroller : percentVisible) >= itemVisiblePercentThreshold,
|
|
item: a6,
|
|
key: a4,
|
|
percentOfScroller,
|
|
percentVisible,
|
|
scrollSize: a5,
|
|
size,
|
|
sizeVisible
|
|
};
|
|
if (!(0, env10649[93])(a1.mapViewabilityAmountValues.get(a3), r56)) {
|
|
a1.mapViewabilityAmountValues.set(a3, r56);
|
|
const r69 = a1.mapViewabilityAmountCallbacks.get(a3);
|
|
if (r69) {
|
|
r69(r56);
|
|
}
|
|
}
|
|
return r56;
|
|
};
|
|
env10649[95] = function checkIsViewable(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
let r21 = a1.mapViewabilityAmountValues.get(a3);
|
|
if (!((r21 ? r21.key === a4 : r21) && r21.index === a7)) {
|
|
r21 = (0, env10649[94])(a0, a1, a2, a3, a4, a5, a6, a7);
|
|
}
|
|
return r21.isViewable;
|
|
};
|
|
env10649[96] = function maybeUpdateViewabilityCallback(a0, a1, a2, a3) {
|
|
const r6 = a2 + a1;
|
|
a0.mapViewabilityValues.set(r6, a3);
|
|
const r11 = a0.mapViewabilityCallbacks.get(r6);
|
|
if (r11 != null) {
|
|
r11(a3);
|
|
}
|
|
};
|
|
env10649[98] = function comparatorByDistance(a0, a1) {
|
|
return a1.distance - a0.distance;
|
|
};
|
|
env10649[99] = function isStickyIndexActive(a0, a1) {
|
|
const state14 = a0.state;
|
|
let r27 = false;
|
|
for (const item5 of state14.stickyContainerPool) {
|
|
const r34 = (0, env10649[21])(a0, `containerItemKey${item5}`);
|
|
if ((r34 ? state14.indexByKey.get(r34) : void 0) !== a1) {
|
|
continue;
|
|
}
|
|
r27 = true;
|
|
break;
|
|
}
|
|
return r27;
|
|
};
|
|
env10649[100] = function trackVisibleRange(a0, a1, a2, a3, a4, a5) {
|
|
if (a0.startNoBuffer === null && a2 + a3 > a4) {
|
|
a0.startNoBuffer = a1;
|
|
}
|
|
if (a0.firstFullyOnScreenIndex === void 0 && a2 >= a4 - 10 && a2 <= a5) {
|
|
a0.firstFullyOnScreenIndex = a1;
|
|
}
|
|
const startNoBuffer = a0.startNoBuffer;
|
|
let r18 = false;
|
|
if (startNoBuffer !== null) {
|
|
const r4 = a2 <= a5;
|
|
let r19 = true;
|
|
if (r4) {
|
|
a0.endNoBuffer = a1;
|
|
r19 = false;
|
|
}
|
|
r18 = r19;
|
|
}
|
|
return r18;
|
|
};
|
|
env10649[101] = function getIdsInVisibleRange(a0, a1) {
|
|
let firstFullyOnScreenIndex = a1.firstFullyOnScreenIndex;
|
|
if (firstFullyOnScreenIndex == null) {
|
|
firstFullyOnScreenIndex = a1.startNoBuffer;
|
|
}
|
|
const r3 = [];
|
|
if (firstFullyOnScreenIndex != null && a1.endNoBuffer !== null) {
|
|
while (firstFullyOnScreenIndex <= a1.endNoBuffer) {
|
|
let r10 = a0.idCache[firstFullyOnScreenIndex];
|
|
const r17 = firstFullyOnScreenIndex;
|
|
if (r10 == null) {
|
|
const props = a0.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r18 = "";
|
|
if (data3) {
|
|
const r19 = r17 < data3.length ? keyExtractor2 ? keyExtractor2(data3[r17], r17) : r17 : null;
|
|
a0.idCache[r17] = r19;
|
|
r18 = r19;
|
|
}
|
|
r10 = r18;
|
|
}
|
|
r3.push(r10);
|
|
firstFullyOnScreenIndex = r17 + 1;
|
|
}
|
|
}
|
|
return r3;
|
|
};
|
|
env10649[102] = function maybeEmitFirstVisibleItemChanged(a0, a1) {
|
|
const onFirstVisibleItemChanged = a0.props.onFirstVisibleItemChanged;
|
|
if (onFirstVisibleItemChanged && a1 !== null && !(a1 < 0) && !(a1 >= a0.props.data.length)) {
|
|
let key = a0.idCache[a1];
|
|
if (key == null) {
|
|
const props = a0.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r18 = "";
|
|
if (data3) {
|
|
const r19 = a1 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a1], a1) : a1 : null;
|
|
a0.idCache[a1] = r19;
|
|
r18 = r19;
|
|
}
|
|
key = r18;
|
|
}
|
|
const lastFirstVisibleItemCallback = a0.lastFirstVisibleItemCallback;
|
|
if (!(lastFirstVisibleItemCallback?.index === a1 && lastFirstVisibleItemCallback.key === key)) {
|
|
a0.lastFirstVisibleItemCallback = {
|
|
index: a1,
|
|
key
|
|
};
|
|
onFirstVisibleItemChanged({
|
|
index: a1,
|
|
item: a0.props.data[a1],
|
|
key
|
|
});
|
|
}
|
|
}
|
|
};
|
|
env10649[103] = function maybeUpdateAnchoredEndSpace(a0) {
|
|
let r6, anchoredEndSpaceReadyAnchorKey2, length, size;
|
|
const state14 = a0.state;
|
|
const anchoredEndSpace2 = state14.props.anchoredEndSpace;
|
|
const r18 = a0.values.get("anchoredEndSpaceSize");
|
|
const { anchoredEndSpaceReadyAnchorIndex, anchoredEndSpaceReadyAnchorKey } = state14;
|
|
const anchorIndex = anchoredEndSpace2?.anchorIndex;
|
|
L39: {
|
|
size = 0;
|
|
r6 = true;
|
|
anchoredEndSpaceReadyAnchorKey2 = void 0;
|
|
if (anchoredEndSpace2) {
|
|
const { anchorIndex: anchorIndex2, anchorMaxSize, anchorOffset = 0 } = anchoredEndSpace2;
|
|
const data4 = state14.props.data;
|
|
if (anchorIndex2 >= 0 && anchorIndex2 < data4.length && state14.scrollLength > 0) {
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r50 = "";
|
|
if (data3) {
|
|
const r52 = anchorIndex2 < data3.length ? keyExtractor2 ? keyExtractor2(data3[anchorIndex2], anchorIndex2) : anchorIndex2 : null;
|
|
state14.idCache[anchorIndex2] = r52;
|
|
r50 = r52;
|
|
}
|
|
const r58 = a0.values.get("footerSize") || 0;
|
|
const r60 = state14.props.stylePaddingBottom || 0;
|
|
const r2 = anchorIndex2 < data4.length;
|
|
let r4 = false;
|
|
let r30 = anchorIndex2;
|
|
let r29 = 0;
|
|
let r63 = false;
|
|
let r64 = 0;
|
|
if (r2) {
|
|
do {
|
|
const r35 = (0, env10649[57])(a0, r30);
|
|
const r65 = r30;
|
|
let r66 = r4;
|
|
const r36 = r29;
|
|
const r34 = r65 === anchorIndex2 ? anchorMaxSize !== void 0 ? Math.min(r35 ? r35 : 0, Math.max(0, anchorMaxSize)) : r35 : r35;
|
|
if (r35 === void 0) {
|
|
r66 = true;
|
|
}
|
|
const r68 = r34 != null && r34 > 0 ? r36 + r34 : r36;
|
|
r30 = r65 + 1;
|
|
length = data4.length;
|
|
r29 = r68;
|
|
r4 = r66;
|
|
r63 = r4;
|
|
r64 = r29;
|
|
} while (r30 < length);
|
|
}
|
|
const r71 = r64 + (r58 + r60);
|
|
const r76 = r63 ? r18 || 0 : Math.max(0, state14.scrollLength - r71 - anchorOffset);
|
|
r6 = !r63;
|
|
size = r76;
|
|
anchoredEndSpaceReadyAnchorKey2 = r50;
|
|
break L39;
|
|
}
|
|
const r5 = anchorIndex2 >= 0;
|
|
size = 0;
|
|
r6 = true;
|
|
anchoredEndSpaceReadyAnchorKey2 = void 0;
|
|
if (r5) {
|
|
r6 = false;
|
|
size = 0;
|
|
anchoredEndSpaceReadyAnchorKey2 = void 0;
|
|
}
|
|
}
|
|
}
|
|
let r78 = r18 !== size;
|
|
if (r6) {
|
|
r6 = r78 ? r78 : anchoredEndSpaceReadyAnchorIndex !== anchorIndex || anchoredEndSpaceReadyAnchorKey !== anchoredEndSpaceReadyAnchorKey2;
|
|
}
|
|
if (r6) {
|
|
state14.anchoredEndSpaceReadyAnchorIndex = anchorIndex;
|
|
state14.anchoredEndSpaceReadyAnchorKey = anchoredEndSpaceReadyAnchorKey2;
|
|
if (r78) {
|
|
(0, env10649[22])(a0, "anchoredEndSpaceSize", size);
|
|
const onSizeChanged = anchoredEndSpace2?.onSizeChanged;
|
|
if (onSizeChanged != null) {
|
|
onSizeChanged.call(anchoredEndSpace2, size);
|
|
}
|
|
}
|
|
if (r78) {
|
|
r78 = anchoredEndSpace2?.includeInEndInset;
|
|
}
|
|
if (r78) {
|
|
(0, env10649[70])(a0, state14.scroll, true);
|
|
}
|
|
const onReady = anchoredEndSpace2?.onReady;
|
|
if (onReady != null) {
|
|
onReady.call(anchoredEndSpace2, {
|
|
anchorIndex,
|
|
anchorKey: anchoredEndSpaceReadyAnchorKey2,
|
|
size
|
|
});
|
|
}
|
|
}
|
|
return size;
|
|
};
|
|
env10649[105] = function mergeItemSizeUpdateResult(a0, a1) {
|
|
if (!a0.didChange) {
|
|
a0.didChange = a1.didChange;
|
|
}
|
|
if (!a0.didMeasureUserScrollAnchorResetItem) {
|
|
a0.didMeasureUserScrollAnchorResetItem = a1.didMeasureUserScrollAnchorResetItem;
|
|
}
|
|
if (!a0.needsRecalculate) {
|
|
a0.needsRecalculate = a1.needsRecalculate;
|
|
}
|
|
if (!a0.shouldMaintainScrollAtEnd) {
|
|
a0.shouldMaintainScrollAtEnd = a1.shouldMaintainScrollAtEnd;
|
|
}
|
|
};
|
|
env10649[106] = function flushItemSizeUpdates(a0, a1) {
|
|
const state14 = a0.state;
|
|
if (a1.needsRecalculate) {
|
|
state14.scrollForNextCalculateItemsInView = void 0;
|
|
const state15 = a0.state;
|
|
if (state15.userScrollAnchorReset !== void 0) {
|
|
let env21567;
|
|
const r23 = env21567 = {
|
|
$parent: env10649
|
|
};
|
|
env21567[0] = a0;
|
|
env21567[1] = {};
|
|
env21567[2] = a0.state;
|
|
unstable_batchedUpdates($mk95179(r23));
|
|
const userScrollAnchorReset2 = state15.userScrollAnchorReset;
|
|
if ((userScrollAnchorReset2 == null ? void 0 : userScrollAnchorReset2.keys.size) === 0) {
|
|
state15.userScrollAnchorReset = void 0;
|
|
}
|
|
} else {
|
|
let env21566;
|
|
const r17 = env21566 = {
|
|
$parent: env10649
|
|
};
|
|
env21566[0] = a0;
|
|
env21566[1] = {
|
|
doMVCP: true
|
|
};
|
|
env21566[2] = a0.state;
|
|
unstable_batchedUpdates($mk95179(r17));
|
|
}
|
|
} else {
|
|
let didMeasureUserScrollAnchorResetItem = a1.didMeasureUserScrollAnchorResetItem;
|
|
if (didMeasureUserScrollAnchorResetItem) {
|
|
const userScrollAnchorReset = state14.userScrollAnchorReset;
|
|
didMeasureUserScrollAnchorResetItem = (userScrollAnchorReset == null ? void 0 : userScrollAnchorReset.keys.size) === 0;
|
|
}
|
|
if (didMeasureUserScrollAnchorResetItem) {
|
|
state14.userScrollAnchorReset = void 0;
|
|
}
|
|
}
|
|
if (a1.didChange && a1.shouldMaintainScrollAtEnd) {
|
|
(0, env10649[64])(a0);
|
|
}
|
|
};
|
|
env10649[107] = function updateItemSizesBatch(a0, a1) {
|
|
const state14 = a0.state;
|
|
const r3 = {};
|
|
for (const item5 of a1) {
|
|
const r36 = item5;
|
|
if (item5.containerId !== void 0) {
|
|
const r17 = env10649[21];
|
|
if (r17(a0, `containerItemKey${r36.containerId}`) !== r36.itemKey) {
|
|
continue;
|
|
}
|
|
}
|
|
const r48 = state14.indexByKey.get(r36.itemKey);
|
|
let r50 = void 0;
|
|
if (r48 !== void 0) {
|
|
const data3 = state14.props.data;
|
|
r50 = data3 == null ? void 0 : data3[r48];
|
|
}
|
|
const r57 = r50;
|
|
const r19 = r36.containerId !== void 0 ? r48 !== void 0 ? r57 !== void 0 ? (0, env10649[29])(state14, r36.containerId, r48, r57) : void 0 : void 0 : void 0;
|
|
const r64 = env10649[105];
|
|
const r65 = env10649[108];
|
|
r64(r3, r65(a0, r36.itemKey, r36.size, r19));
|
|
}
|
|
(0, env10649[106])(a0, r3);
|
|
};
|
|
env10649[108] = function applyItemSize(a0, a1, a2, a3) {
|
|
let r2, r6, r72, r197, avg;
|
|
const state14 = a0.state;
|
|
const userScrollAnchorReset = state14.userScrollAnchorReset;
|
|
const didMeasureUserScrollAnchorResetItem = !!(userScrollAnchorReset == null ? void 0 : userScrollAnchorReset.keys.delete(a1));
|
|
const { didContainersLayout, sizesKnown, props } = state14;
|
|
const { getFixedItemSize, getItemType, horizontal: horizontal6, onItemSizeChanged, data: data3, maintainScrollAtEnd: maintainScrollAtEnd2 } = props;
|
|
if (data3) {
|
|
const index3 = state14.indexByKey.get(a1);
|
|
let r57 = a3;
|
|
if (getFixedItemSize) {
|
|
if (index3 === void 0) {
|
|
return {
|
|
didMeasureUserScrollAnchorResetItem
|
|
};
|
|
}
|
|
const r29 = state14.props.data[index3];
|
|
if (r29 === void 0) {
|
|
return {
|
|
didMeasureUserScrollAnchorResetItem
|
|
};
|
|
}
|
|
const didResolveFixedItemSize = a3?.didResolveFixedItemSize;
|
|
let r27 = a3;
|
|
if (!didResolveFixedItemSize) {
|
|
let itemType = a3?.itemType;
|
|
if (itemType == null) {
|
|
let r62 = "";
|
|
if (getItemType) {
|
|
const r63 = getItemType(r29, index3);
|
|
r62 = r63 ?? "";
|
|
}
|
|
itemType = r62;
|
|
}
|
|
r27 = {
|
|
didResolveFixedItemSize: true,
|
|
fixedItemSize: getFixedItemSize(r29, index3, itemType),
|
|
itemType
|
|
};
|
|
}
|
|
const fixedItemSize = r27.fixedItemSize;
|
|
r57 = r27;
|
|
if (fixedItemSize !== void 0) {
|
|
const r69 = sizesKnown.get(a1);
|
|
r57 = r27;
|
|
if (fixedItemSize === r69) {
|
|
if (a0.state.needsOtherAxisSize) {
|
|
const r204 = horizontal6 ? a2.height : a2.width;
|
|
const r208 = a0.values.get("otherAxisSize");
|
|
if (r208 ? r204 > r208 : !r208) {
|
|
(0, env10649[22])(a0, "otherAxisSize", r204);
|
|
}
|
|
}
|
|
return {
|
|
didMeasureUserScrollAnchorResetItem
|
|
};
|
|
}
|
|
}
|
|
}
|
|
L65: {
|
|
r6 = !didContainersLayout;
|
|
r72 = state14.sizesKnown.get(a1);
|
|
const state15 = a0.state;
|
|
const { indexByKey: indexByKey2, sizesKnown: sizesKnown2, averageSizes, props: props2 } = state15;
|
|
const { data: data4, horizontal: horizontal7, getItemType: getItemType2, getFixedItemSize: getFixedItemSize2 } = props2;
|
|
r2 = 0;
|
|
if (data4) {
|
|
const r33 = indexByKey2.get(a1);
|
|
const r81 = data4[r33];
|
|
let itemType2 = r57?.itemType;
|
|
let fixedItemSize2 = r57?.fixedItemSize;
|
|
if (getFixedItemSize2 && !r57?.didResolveFixedItemSize) {
|
|
let r88 = "";
|
|
if (getItemType2) {
|
|
const r89 = getItemType2(r81, r33);
|
|
r88 = r89 ?? "";
|
|
}
|
|
fixedItemSize2 = getFixedItemSize2(r81, r33, r88);
|
|
itemType2 = r88;
|
|
}
|
|
const r98 = (0, env10649[58])(a0, a1, r33, r81, void 0, void 0, void 0, !r57?.didResolveFixedItemSize && itemType2 === void 0 ? fixedItemSize2 !== void 0 ? {
|
|
didResolveFixedItemSize: r57?.didResolveFixedItemSize,
|
|
fixedItemSize: fixedItemSize2,
|
|
itemType: itemType2
|
|
} : void 0 : {
|
|
didResolveFixedItemSize: r57?.didResolveFixedItemSize,
|
|
fixedItemSize: fixedItemSize2,
|
|
itemType: itemType2
|
|
});
|
|
const r99 = horizontal7 ? a2.width : a2.height;
|
|
const r101 = sizesKnown2.get(a1);
|
|
const r102 = r101 !== void 0;
|
|
if (r102) {
|
|
const r108 = Math.abs(r99 - r101) <= c10649_104;
|
|
r2 = 0;
|
|
if (r108) {
|
|
break L65;
|
|
}
|
|
}
|
|
L62: {
|
|
avg = Math.floor(8 * r99) / 8;
|
|
sizesKnown2.set(a1, avg);
|
|
if (fixedItemSize2 === void 0 && 0 < avg) {
|
|
if (itemType2 == null) {
|
|
let r117 = "";
|
|
if (getItemType2) {
|
|
const r118 = getItemType2(r81, r33);
|
|
r117 = r118 ?? "";
|
|
}
|
|
itemType2 = r117;
|
|
}
|
|
let r120 = averageSizes[itemType2];
|
|
if (!r120) {
|
|
const r121 = {
|
|
avg: 0,
|
|
num: 0
|
|
};
|
|
averageSizes[itemType2] = r121;
|
|
r120 = r121;
|
|
}
|
|
if (r120.num === 0) {
|
|
r120.avg = avg;
|
|
r120.num = r120.num + 1;
|
|
} else {
|
|
if (r102 && r101 > 0) {
|
|
r120.avg = r120.avg + (avg - r101) / r120.num;
|
|
break L62;
|
|
}
|
|
r120.avg = (r120.avg * r120.num + avg) / (r120.num + 1);
|
|
r120.num = r120.num + 1;
|
|
}
|
|
}
|
|
}
|
|
if (r98) {
|
|
const r144 = Math.abs(r98 - avg) > 0.1;
|
|
r2 = 0;
|
|
if (!r144) {
|
|
break L65;
|
|
}
|
|
}
|
|
(0, env10649[51])(a0, a1, avg);
|
|
r2 = avg - r98;
|
|
}
|
|
}
|
|
const size = Math.floor(8 * (horizontal6 ? a2.width : a2.height)) / 8;
|
|
let shouldMaintainScrollAtEnd = false;
|
|
let needsRecalculate = r6;
|
|
let r157 = void 0;
|
|
if (r2 !== 0) {
|
|
const { startBuffered: startBuffered2, endBuffered: endBuffered2 } = state14;
|
|
if (didContainersLayout) {
|
|
r6 = index3 >= startBuffered2 && index3 <= endBuffered2;
|
|
}
|
|
if (r6 ? !r6 : state14.containerItemKeys.has(a1)) {
|
|
r6 = true;
|
|
}
|
|
const r10 = r72 !== void 0 && Math.abs(r72 - size) > 5 ? true : false;
|
|
if (onItemSizeChanged != null) {
|
|
onItemSizeChanged({
|
|
index: index3,
|
|
itemData: state14.props.data[index3],
|
|
itemKey: a1,
|
|
previous: size - r2,
|
|
size
|
|
});
|
|
}
|
|
(0, env10649[103])(a0);
|
|
shouldMaintainScrollAtEnd = r10;
|
|
needsRecalculate = r6;
|
|
r157 = index3;
|
|
}
|
|
if (r157 !== void 0) {
|
|
state14.minIndexSizeChanged = state14.minIndexSizeChanged !== void 0 ? Math.min(state14.minIndexSizeChanged, r157) : r157;
|
|
}
|
|
if (a0.state.needsOtherAxisSize) {
|
|
const r184 = horizontal6 ? a2.height : a2.width;
|
|
const r188 = a0.values.get("otherAxisSize");
|
|
if (r188 ? r184 > r188 : !r188) {
|
|
(0, env10649[22])(a0, "otherAxisSize", r184);
|
|
}
|
|
}
|
|
const didChange = r2 !== 0;
|
|
if (!didContainersLayout && !(0, env10649[77])(state14, state14.startBuffered, state14.endBuffered)) {
|
|
r197 = {
|
|
didChange,
|
|
didMeasureUserScrollAnchorResetItem
|
|
};
|
|
} else {
|
|
if (shouldMaintainScrollAtEnd) {
|
|
shouldMaintainScrollAtEnd = !!maintainScrollAtEnd2?.onItemLayout;
|
|
}
|
|
r197 = {
|
|
didChange,
|
|
didMeasureUserScrollAnchorResetItem,
|
|
needsRecalculate,
|
|
shouldMaintainScrollAtEnd
|
|
};
|
|
}
|
|
return r197;
|
|
}
|
|
return {
|
|
didMeasureUserScrollAnchorResetItem
|
|
};
|
|
};
|
|
env10649[109] = function measureContainersInLayoutEffect(a0) {
|
|
let c21568_1, current, measure;
|
|
let c21568_0 = a0;
|
|
let r2 = arguments[1];
|
|
if (r2 === void 0) {
|
|
r2 = null;
|
|
}
|
|
c21568_1 = void 0;
|
|
current = void 0;
|
|
measure = void 0;
|
|
const state10 = a0.state;
|
|
const r3 = [];
|
|
let c21568_5 = r3;
|
|
let c21568_6 = true;
|
|
if (r2 == null) {
|
|
r2 = a0.viewRefs.keys();
|
|
}
|
|
const _loop3 = function _loop3(a0) {
|
|
let containerId, itemKey2, c27898_2;
|
|
L26: {
|
|
containerId = a0;
|
|
const r22 = c21568_0.viewRefs.get(a0);
|
|
itemKey2 = c21568_0.values.get(`containerItemKey${a0}`);
|
|
if (itemKey2 !== void 0) {
|
|
const r30 = state10.containerItemGenerations[a0];
|
|
c21568_1 = r30;
|
|
const r32 = (r30 != null ? c21568_1 : 0) + 1;
|
|
c27898_2 = r32;
|
|
state10.containerItemGenerations[a0] = r32;
|
|
const state14 = c21568_0.state;
|
|
const props = state14.props;
|
|
const { data: data3, getFixedItemSize } = props;
|
|
const r37 = state14.indexByKey.get(itemKey2);
|
|
let r38 = void 0;
|
|
if (data3) {
|
|
r38 = void 0;
|
|
if (getFixedItemSize) {
|
|
r38 = void 0;
|
|
if (r37 !== void 0) {
|
|
const r39 = data3[r37];
|
|
r38 = void 0;
|
|
if (r39 !== void 0) {
|
|
const r42 = (0, env10649[29])(state14, a0, r37, r39);
|
|
r38 = r42?.fixedItemSize;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (!state10.needsOtherAxisSize && r38 !== void 0 && state10.sizesKnown.get(itemKey2) === r38 + c21568_0.scrollAxisGap) {
|
|
const state15 = c21568_0.state;
|
|
const userScrollAnchorReset = state15.userScrollAnchorReset;
|
|
if (!((userScrollAnchorReset == null ? void 0 : userScrollAnchorReset.keys.delete(itemKey2)) && userScrollAnchorReset.keys.size === 0)) {
|
|
break L26;
|
|
}
|
|
state15.userScrollAnchorReset = void 0;
|
|
break L26;
|
|
}
|
|
if (r22) {
|
|
current = r22.current;
|
|
measure = current == null ? void 0 : current.measure;
|
|
if (measure != null) {
|
|
const call = measure.call;
|
|
measure.call(current, (a0, a1, a2, a3) => {
|
|
const r10 = c21568_0.state.containerItemGenerations[containerId];
|
|
if ((r10 ?? 0) === c27898_2) {
|
|
const r16 = {
|
|
containerId,
|
|
itemKey: itemKey2,
|
|
size: {
|
|
height: a3,
|
|
width: a2
|
|
}
|
|
};
|
|
if (c21568_6) {
|
|
c21568_5.push(r16);
|
|
} else {
|
|
(0, env10649[107])(c21568_0, [r16]);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
for (const item5 of r2) {
|
|
_loop3(item5);
|
|
}
|
|
c21568_6 = false;
|
|
if (r3.length > 0) {
|
|
(0, env10649[107])(a0, r3);
|
|
}
|
|
};
|
|
env10649[111] = function useValue$(a0, a1) {
|
|
let value, state11;
|
|
const getValue2 = (a1 ? a1 : {}).getValue;
|
|
const context = env10649[12].useContext(c10649_17);
|
|
const getNewValue2 = () => {};
|
|
const r14 = context.values.get(a0);
|
|
const r15 = getValue2 ? getValue2(r14) : r14;
|
|
value = r15 ?? 0;
|
|
const r19 = env10649[10];
|
|
state11 = (0, env10649[4])(r19.useState(() => new env10649[11].Animated.Value(value)), 1)[0];
|
|
r19.useLayoutEffect(() => {
|
|
let env27899;
|
|
const syncCurrentValue = () => {
|
|
const r12 = context.values.get(a0);
|
|
const r13 = getValue2 ? getValue2(r12) : r12;
|
|
state11.setValue(r13 ?? 0);
|
|
};
|
|
const r1 = env27899 = {};
|
|
env27899[0] = syncCurrentValue;
|
|
const listeners = context.listeners;
|
|
const r13 = listeners.get(a0);
|
|
env27899[1] = r13;
|
|
let r4 = r13;
|
|
if (!r4) {
|
|
const set2 = new Set();
|
|
env27899[1] = set2;
|
|
listeners.set(a0, set2);
|
|
r4 = set2;
|
|
}
|
|
r4.add(syncCurrentValue);
|
|
const r29 = context.values.get(a0);
|
|
const r30 = getValue2 ? getValue2(r29) : r29;
|
|
const r33 = r30 ?? 0;
|
|
const r34 = $mk95159(r1);
|
|
state11.setValue(r33);
|
|
return r34;
|
|
}, [state11, context, a0]);
|
|
return state11;
|
|
};
|
|
env10649[116] = function useContainerItemSignals(a0) {
|
|
const containerId3 = a0?.containerId;
|
|
const r9 = containerId3 ?? -1;
|
|
let env21570;
|
|
const r16 = [`containerItemKey${r9}`, `containerItemIndex${r9}`, `containerItemData${r9}`];
|
|
const r24 = env21570 = {
|
|
$parent: env10649
|
|
};
|
|
env21570[0] = void 0;
|
|
env21570[1] = void 0;
|
|
const r25 = env10649[12];
|
|
const context18 = r25.useContext(c10649_17);
|
|
env21570[0] = context18;
|
|
const r31 = r16.length === 1 ? r16[0] : r16.join("\x00");
|
|
env21570[1] = r31;
|
|
const memo5 = r25.useMemo($mk95160(r24), [context18, r31]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r46 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 3);
|
|
const itemKey4 = r46[0];
|
|
const itemIndex3 = r46[1];
|
|
return {
|
|
hasItemInfo: !!a0 && itemKey4 !== void 0 && itemIndex3 !== void 0,
|
|
item: r46[2],
|
|
itemIndex: itemIndex3,
|
|
itemKey: itemKey4
|
|
};
|
|
};
|
|
useIsLastItem = function useIsLastItem() {
|
|
let env21571 = {
|
|
$parent: env10649
|
|
};
|
|
const context19 = env10649[10].useContext(c10649_115);
|
|
env21571[0] = context19;
|
|
const containerId3 = context19?.containerId;
|
|
const r17 = containerId3 ?? -1;
|
|
let env21572;
|
|
const r23 = [`containerItemKey${r17}`];
|
|
const r24 = env21572 = {
|
|
$parent: env10649
|
|
};
|
|
env21572[0] = void 0;
|
|
env21572[1] = void 0;
|
|
const r10 = env10649[12];
|
|
const context18 = r10.useContext(c10649_17);
|
|
env21572[0] = context18;
|
|
const r28 = r23.length === 1 ? r23[0] : r23.join("\x00");
|
|
let get2;
|
|
env21572[1] = r28;
|
|
const memo5 = r10.useMemo($mk95160(r24), [context18, r28]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r34 = env10649[0];
|
|
const r35 = env10649[1];
|
|
env21571[1] = (0, env10649[4])(r34(r35[6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
get2 = void 0;
|
|
const context2 = r10.useContext(c10649_17);
|
|
const memo6 = r10.useMemo(() => {
|
|
let env30827;
|
|
const r3 = ["lastItemKeys"];
|
|
const r5 = env30827 = {
|
|
$parent: env10649
|
|
};
|
|
env30827[0] = context2;
|
|
env30827[1] = r3;
|
|
env30827[2] = [];
|
|
env30827[3] = [];
|
|
return {
|
|
get: $mk95157(r5),
|
|
subscribe: $mk95158(r5)
|
|
};
|
|
}, [context2, "lastItemKeys"]);
|
|
const subscribe3 = memo6.subscribe;
|
|
get2 = memo6.get;
|
|
const callback5 = r10.useCallback(() => {
|
|
const r6 = get2()[0];
|
|
return env21571[0] && !(env21571[1] == null) && (r6 == null ? void 0 : r6.includes(env21571[1])) || false;
|
|
}, [get2, (a0) => env21571[0] && !(env21571[1] == null) && (a0 == null ? void 0 : a0.includes(env21571[1])) || false]);
|
|
return r34(r35[6]).useSyncExternalStore(subscribe3, callback5, callback5);
|
|
};
|
|
env10649[117] = useIsLastItem;
|
|
env10649[119] = function Separator({ ItemSeparatorComponent: ItemSeparatorComponent2, leadingItem }) {
|
|
return (0, env10649[117])() ? null : env10649[12].createElement(ItemSeparatorComponent2, {
|
|
leadingItem
|
|
});
|
|
};
|
|
env10649[122] = function ContainerSlotBase({ id: id4, horizontal: horizontal6, recycleItems, ItemSeparatorComponent: ItemSeparatorComponent2, getRenderedItem: getRenderedItem3, stickyHeaderConfig: stickyHeaderConfig2, ContainerComponent = c10649_121 }) {
|
|
let env21574;
|
|
const r20 = [`containerItemKey${id4}`];
|
|
const r21 = env21574 = {
|
|
$parent: env10649
|
|
};
|
|
env21574[0] = void 0;
|
|
env21574[1] = void 0;
|
|
const r5 = env10649[12];
|
|
const context18 = r5.useContext(c10649_17);
|
|
env21574[0] = context18;
|
|
const r25 = r20.length === 1 ? r20[0] : r20.join("\x00");
|
|
env21574[1] = r25;
|
|
const memo5 = r5.useMemo($mk95160(r21), [context18, r25]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const itemKey4 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
return itemKey4 !== void 0 ? r5.createElement(ContainerComponent, {
|
|
getRenderedItem: getRenderedItem3,
|
|
horizontal: horizontal6,
|
|
ItemSeparatorComponent: ItemSeparatorComponent2,
|
|
id: id4,
|
|
itemKey: itemKey4,
|
|
recycleItems,
|
|
stickyHeaderConfig: stickyHeaderConfig2
|
|
}) : null;
|
|
};
|
|
env10649[127] = function ScrollAdjust() {
|
|
let env21575;
|
|
const r6 = env10649[12];
|
|
const context18 = r6.useContext(c10649_17);
|
|
const r7 = ["scrollAdjust", "scrollAdjustUserOffset"];
|
|
const r11 = env21575 = {
|
|
$parent: env10649
|
|
};
|
|
env21575[0] = void 0;
|
|
env21575[1] = void 0;
|
|
const context19 = r6.useContext(c10649_17);
|
|
env21575[0] = context19;
|
|
const r15 = r7.length === 1 ? r7[0] : r7.join("\x00");
|
|
env21575[1] = r15;
|
|
const memo5 = r6.useMemo($mk95160(r11), [context19, r15]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r30 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 2);
|
|
const r35 = (r30[0] || 0) + (r30[1] || 0) + 10000000;
|
|
const state14 = context18.state;
|
|
const r41 = !!(state14 == null ? void 0 : state14.props.horizontal);
|
|
return r6.createElement(env10649[11].View, {
|
|
style: {
|
|
height: 0,
|
|
left: r41 ? r35 : 0,
|
|
position: "absolute",
|
|
top: r41 ? 0 : r35,
|
|
width: 0
|
|
}
|
|
});
|
|
};
|
|
env10649[133] = function doInitialAllocateContainers(a0) {
|
|
let r21;
|
|
const state14 = a0.state;
|
|
const { scrollLength, props } = state14;
|
|
const { data: data3, getFixedItemSize, getItemType, numColumns: numColumns2, estimatedItemSize } = props;
|
|
const drawDistance = a0.state.props.drawDistance;
|
|
const initialScroll2 = a0.state.initialScroll;
|
|
let r5 = initialScroll2 !== void 0;
|
|
if (r5) {
|
|
const viewPosition2 = initialScroll2.viewPosition;
|
|
r5 = (viewPosition2 ?? 0) > 0;
|
|
}
|
|
const r22 = a0.values.get("readyToRender") ? drawDistance : r5 ? drawDistance : Math.min(drawDistance, 50);
|
|
const r45 = a0.values.get("numContainers");
|
|
if (scrollLength > 0 && data3.length > 0 && !r45) {
|
|
if (getFixedItemSize) {
|
|
const r53 = Math.min(20, data3.length);
|
|
const r54 = 0 < r53;
|
|
let r56 = 0;
|
|
let r57 = 0;
|
|
let r58 = 0;
|
|
if (r54) {
|
|
do {
|
|
const r27 = data3[r56];
|
|
const r1 = r56;
|
|
const r26 = r57;
|
|
let r24 = r26;
|
|
if (r27 !== void 0) {
|
|
const r28 = getItemType == null ? void 0 : getItemType(r27, r1);
|
|
const r61 = getFixedItemSize(r27, r1, r28 ?? "");
|
|
r24 = r26 + ((r61 ?? estimatedItemSize) + a0.scrollAxisGap);
|
|
}
|
|
r56 = r1 + 1;
|
|
r57 = r24;
|
|
r58 = r57;
|
|
} while (r56 < r53);
|
|
}
|
|
r21 = r58 / r53;
|
|
} else {
|
|
r21 = estimatedItemSize + a0.scrollAxisGap;
|
|
}
|
|
const r78 = Math.max(1, Math.ceil((scrollLength + 2 * r22) / r21 * numColumns2));
|
|
const r79 = 0 < r78;
|
|
let r84 = 0;
|
|
if (r79) {
|
|
do {
|
|
const r85 = env10649[22];
|
|
r85(a0, `containerPosition${r84}`, c10649_32);
|
|
r85(a0, `containerColumn${r84}`, -1);
|
|
r85(a0, `containerSpan${r84}`, 1);
|
|
r84 = r84 + 1;
|
|
} while (r84 < r78);
|
|
}
|
|
const r99 = env10649[22];
|
|
r99(a0, "numContainers", r78);
|
|
const length = data3.length;
|
|
const r102 = length <= 0;
|
|
let r103 = 0;
|
|
if (!r102) {
|
|
const r104 = r78 <= 0;
|
|
r103 = 0;
|
|
if (!r104) {
|
|
const r121 = Math.max(r78, Math.min(Math.ceil(3 * r78), r78 + 64), Math.min(length, 32));
|
|
r103 = Math.min(Math.max(length, r78), r121);
|
|
}
|
|
}
|
|
r99(a0, "numContainersPooled", r103);
|
|
if (!(c10649_27 && !state14.lastLayout)) {
|
|
if (state14.initialScroll) {
|
|
requestAnimationFrame(() => {
|
|
let env27902;
|
|
const r2 = env10649;
|
|
const r5 = env27902 = {
|
|
$parent: r2
|
|
};
|
|
env27902[0] = a0;
|
|
env27902[1] = {
|
|
dataChanged: true,
|
|
doMVCP: true
|
|
};
|
|
env27902[2] = a0.state;
|
|
unstable_batchedUpdates($mk95179(r5));
|
|
});
|
|
} else {
|
|
let env21578;
|
|
const r132 = env21578 = {
|
|
$parent: env10649
|
|
};
|
|
env21578[0] = a0;
|
|
env21578[1] = {
|
|
dataChanged: true,
|
|
doMVCP: true
|
|
};
|
|
env21578[2] = a0.state;
|
|
unstable_batchedUpdates($mk95179(r132));
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
};
|
|
env10649[140] = function normalizeMaintainScrollAtEndOn(a0, a1) {
|
|
let onLayout = !a1;
|
|
let onDataChange = onLayout;
|
|
if (a1) {
|
|
const dataChange = a0?.dataChange;
|
|
onDataChange = dataChange != null && dataChange;
|
|
}
|
|
let onFooterLayout = onLayout;
|
|
if (a1) {
|
|
const footerLayout = a0?.footerLayout;
|
|
onFooterLayout = footerLayout != null && footerLayout;
|
|
}
|
|
let onItemLayout = onLayout;
|
|
if (a1) {
|
|
const itemLayout = a0?.itemLayout;
|
|
onItemLayout = itemLayout != null && itemLayout;
|
|
}
|
|
if (a1) {
|
|
const layout = a0?.layout;
|
|
onLayout = layout != null && layout;
|
|
}
|
|
return {
|
|
animated: false,
|
|
onDataChange,
|
|
onFooterLayout,
|
|
onItemLayout,
|
|
onLayout
|
|
};
|
|
};
|
|
env10649[2] = __classCallCheck;
|
|
env10649[3] = __objectWithoutProperties;
|
|
env10649[4] = __slicedToArray;
|
|
env10649[5] = ["noScrollingTo", "forceScroll"];
|
|
env10649[6] = ["index"];
|
|
env10649[7] = ["children", "data", "renderItem"];
|
|
env10649[8] = ["alignItemsAtEnd", "anchoredEndSpace", "alwaysRender", "columnWrapperStyle", "contentContainerStyle", "contentInset", "data", "dataKey", "dataVersion", "drawDistance", "contentInsetEndAdjustment", "estimatedItemSize", "estimatedListSize", "extraData", "getFixedItemSize", "getItemType", "horizontal", "rtl", "estimatedHeaderSize", "initialScrollAtEnd", "initialScrollIndex", "initialScrollOffset", "experimental_adaptiveRender", "itemsAreEqual", "keyExtractor", "ListEmptyComponent", "ListFooterComponent", "ListFooterComponentStyle", "ListHeaderComponent", "maintainScrollAtEnd", "maintainScrollAtEndThreshold", "maintainVisibleContentPosition", "numColumns", "overrideItemLayout", "onEndReached", "onEndReachedThreshold", "onItemSizeChanged", "onMetricsChange", "onLayout", "onLoad", "onMomentumScrollEnd", "onRefresh", "onScroll", "onScrollBeginDrag", "onStartReached", "onStartReachedThreshold", "onStickyHeaderChange", "onFirstVisibleItemChanged", "onViewableItemsChanged", "progressViewOffset", "recycleItems", "refreshControl", "refreshing", "refScrollView", "renderScrollComponent", "renderItem", "scrollEventThrottle", "snapToIndices", "stickyHeaderIndices", "style", "useWindowScroll", "viewabilityConfig", "viewabilityConfigCallbackPairs"];
|
|
env10649[9] = ["positionComponentInternal", "stickyPositionComponentInternal"];
|
|
env10649[10] = _Module19;
|
|
env10649[11] = _Module17;
|
|
const r127 = env10650 = {};
|
|
env10650[0] = _Module19;
|
|
env10650[1] = void 0;
|
|
if (_Module19) {
|
|
const __esModule = _Module19.__esModule;
|
|
r13 = _Module19;
|
|
if (__esModule) {
|
|
break L5;
|
|
}
|
|
}
|
|
const r130 = Object.create(null);
|
|
env10650[1] = r130;
|
|
if (_Module19) {
|
|
Object.keys(_Module19).forEach($mk95155(r127));
|
|
}
|
|
r130.default = _Module19;
|
|
r13 = Object.freeze(r130);
|
|
}
|
|
let env10651;
|
|
L10: {
|
|
env10649[12] = r13;
|
|
const r138 = env10651 = {};
|
|
env10651[0] = _Module17;
|
|
env10651[1] = void 0;
|
|
if (_Module17) {
|
|
const __esModule2 = _Module17.__esModule;
|
|
r140 = _Module17;
|
|
if (__esModule2) {
|
|
break L10;
|
|
}
|
|
}
|
|
const r145 = Object.create(null);
|
|
env10651[1] = r145;
|
|
if (_Module17) {
|
|
Object.keys(_Module17).forEach($mk95155(r138));
|
|
}
|
|
r145.default = _Module17;
|
|
r140 = Object.freeze(r145);
|
|
}
|
|
_Module17.Animated.View;
|
|
Platform;
|
|
createAnimatedValue = (a0) => {};
|
|
c10649_17 = r13.createContext(null);
|
|
env10649[18] = 0;
|
|
DebugRow = (a0) => env10649[12].createElement(View, {
|
|
style: {
|
|
alignItems: "center",
|
|
flexDirection: "row",
|
|
justifyContent: "space-between"
|
|
}
|
|
}, a0.children);
|
|
r13.memo(function DebugView2() {
|
|
let env21579;
|
|
const r13 = env10649[12];
|
|
const context18 = r13.useContext(c10649_17);
|
|
const r6 = ["totalSize", "scrollAdjust", "debugRawScroll", "debugComputedScroll", "numContainers", "numContainersPooled", "isAtEnd"];
|
|
const r29 = env21579 = {
|
|
$parent: env10649
|
|
};
|
|
env21579[0] = void 0;
|
|
env21579[1] = void 0;
|
|
const context19 = r13.useContext(c10649_17);
|
|
env21579[0] = context19;
|
|
const r33 = r6.length === 1 ? r6[0] : r6.join("\x00");
|
|
env21579[1] = r33;
|
|
const memo5 = r13.useMemo($mk95160(r29), [context19, r33]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const syncExternalStore = (0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3);
|
|
const r46 = env10649[4];
|
|
const r48 = r46(syncExternalStore, 7);
|
|
const r49 = r48[0];
|
|
const r51 = r49 !== void 0 ? r49 : 0;
|
|
const r52 = r48[1];
|
|
const r15 = r52 !== void 0 ? r52 : 0;
|
|
const r53 = r48[2];
|
|
const r17 = r53 !== void 0 ? r53 : 0;
|
|
const r54 = r48[3];
|
|
const r19 = r54 !== void 0 ? r54 : 0;
|
|
r48[4];
|
|
r48[5];
|
|
const r57 = r48[6];
|
|
const r14 = r57 !== void 0 && r57;
|
|
let c21581_0;
|
|
const r60 = (0, env10649[25])(context18);
|
|
const r61 = env10649[10];
|
|
const dispatch = r46(r61.useReducer((a0) => a0 + 1, 0), 2)[1];
|
|
c21581_0 = () => {
|
|
dispatch();
|
|
};
|
|
r61.useEffect(() => {
|
|
let c30831_0 = setInterval(c21581_0, 100);
|
|
return () => clearInterval(c30831_0);
|
|
}, [100]);
|
|
const r75 = {
|
|
pointerEvents: "none",
|
|
style: {
|
|
backgroundColor: "#FFFFFFCC",
|
|
borderRadius: 4,
|
|
padding: 4,
|
|
paddingBottom: 4,
|
|
paddingLeft: 4,
|
|
position: "absolute",
|
|
right: 0,
|
|
top: 0
|
|
}
|
|
};
|
|
return r13.createElement(View, r75, r13.createElement(DebugRow, null, r13.createElement(Text, null, "TotalSize:"), r13.createElement(Text, null, r51.toFixed(2))), r13.createElement(DebugRow, null, r13.createElement(Text, null, "ContentSize:"), r13.createElement(Text, null, r60.toFixed(2))), r13.createElement(DebugRow, null, r13.createElement(Text, null, "At end:"), r13.createElement(Text, null, String(r14))), r13.createElement(DebugRow, null, r13.createElement(Text, null, "ScrollAdjust:"), r13.createElement(Text, null, r15.toFixed(2))), r13.createElement(DebugRow, null, r13.createElement(Text, null, "RawScroll: "), r13.createElement(Text, null, r17.toFixed(2))), r13.createElement(DebugRow, null, r13.createElement(Text, null, "ComputedScroll: "), r13.createElement(Text, null, r19.toFixed(2))));
|
|
});
|
|
const nativeFabricUIManager2 = global.nativeFabricUIManager;
|
|
const IsNewArchitecture = nativeFabricUIManager2 !== void 0 && nativeFabricUIManager2 != null;
|
|
c10649_27 = IsNewArchitecture;
|
|
const r170 = typeof globalThis.process !== "undefined" ? typeof globalThis.process.env === "object" ? globalThis.process.env ? "production" : void 0 : void 0 : void 0;
|
|
const r4 = typeof r170 === "string" ? r170.toLowerCase() !== "production" : void 0;
|
|
const r3 = r4 != null && r4;
|
|
c10649_31 = r3 != null && r3;
|
|
c10649_32 = -10000000;
|
|
c10649_33 = c10649_31 ? false : c10649_31;
|
|
c10649_34 = c10649_31 && false;
|
|
c10649_36 = {
|
|
didDispatchNativeScroll: ({ initialScrollSession }) => {
|
|
const completion = initialScrollSession?.completion;
|
|
return !!completion?.didDispatchNativeScroll;
|
|
},
|
|
didRetrySilentInitialScroll: ({ initialScrollSession }) => {
|
|
const completion = initialScrollSession?.completion;
|
|
return !!completion?.didRetrySilentInitialScroll;
|
|
},
|
|
markInitialScrollNativeDispatch: (a0) => {
|
|
(0, env10649[35])(a0).didDispatchNativeScroll = true;
|
|
},
|
|
markSilentInitialScrollRetry: (a0) => {
|
|
(0, env10649[35])(a0).didRetrySilentInitialScroll = true;
|
|
},
|
|
resetFlags: (a0) => {
|
|
if (a0.initialScrollSession) {
|
|
const r8 = (0, env10649[35])(a0, a0.initialScrollSession.kind);
|
|
r8.didDispatchNativeScroll = void 0;
|
|
r8.didRetrySilentInitialScroll = void 0;
|
|
}
|
|
}
|
|
};
|
|
c10649_37 = {
|
|
clear: (a0) => {
|
|
c10649_37.set(a0, void 0);
|
|
},
|
|
didReachTarget: (a0, a1) => Math.abs(a0 - a1.targetOffset) <= 1,
|
|
get: ({ initialScrollSession }) => {
|
|
const completion = initialScrollSession?.completion;
|
|
return completion?.watchdog;
|
|
},
|
|
hasNonZeroTargetOffset: (a0) => a0 !== void 0 && a0 > 1,
|
|
isAtZeroTargetOffset: (a0) => a0 <= 1,
|
|
set: (a0, a1) => {
|
|
let r3 = a1;
|
|
if (!a1) {
|
|
const initialScrollSession = a0.initialScrollSession;
|
|
const completion = initialScrollSession?.completion;
|
|
r3 = completion?.watchdog;
|
|
}
|
|
if (r3) {
|
|
(0, env10649[35])(a0).watchdog = a1 ? {
|
|
startScroll: a1.startScroll,
|
|
targetOffset: a1.targetOffset
|
|
} : void 0;
|
|
}
|
|
}
|
|
};
|
|
checkThreshold = (a0, a1, a2, a3, a4, a5, a6, a7) => {
|
|
const r13 = Math.abs(a0);
|
|
const r2 = a1 ? a1 : a2 > 0 && r13 <= a2;
|
|
if (a3) {
|
|
const r26 = Math.abs(a0);
|
|
let r27 = !a1;
|
|
let r28 = (a1 ? r27 : a2 > 0) && r26 >= 1.3 * a2;
|
|
if (!r28) {
|
|
if (!a1) {
|
|
r27 = a2 <= 0;
|
|
}
|
|
if (r27) {
|
|
r27 = r26 > 0;
|
|
}
|
|
r28 = r27;
|
|
}
|
|
if (r28) {
|
|
a7(void 0);
|
|
return false;
|
|
}
|
|
if (r2 && ((a4 ? a4.atThreshold !== a1 : !a4) || a4.contentSize !== a5.contentSize || a4.dataLength !== a5.dataLength)) {
|
|
a7({
|
|
atThreshold: a1,
|
|
contentSize: a5.contentSize,
|
|
dataLength: a5.dataLength,
|
|
scrollPosition: a5.scrollPosition
|
|
});
|
|
}
|
|
return true;
|
|
}
|
|
let r17 = !!r2;
|
|
if (r17) {
|
|
a6(a0);
|
|
a7({
|
|
atThreshold: a1,
|
|
contentSize: a5.contentSize,
|
|
dataLength: a5.dataLength,
|
|
scrollPosition: a5.scrollPosition
|
|
});
|
|
r17 = true;
|
|
}
|
|
return r17;
|
|
};
|
|
c10649_53 = new Set();
|
|
c10649_66 = 0.1;
|
|
getScrollVelocity = ({ scrollHistory }) => {
|
|
let r1 = scrollHistory.length - 1;
|
|
if (r1 < 1) {
|
|
return 0;
|
|
}
|
|
const r15 = scrollHistory[r1];
|
|
if (Date.now() - r15.time > 1000) {
|
|
return 0;
|
|
}
|
|
let r13 = 0;
|
|
let r2 = 0;
|
|
let r30 = 0;
|
|
let r31 = 0;
|
|
let r4 = 0;
|
|
while (0 < r1) {
|
|
const r19 = scrollHistory[r1];
|
|
const r5 = r1 - 1;
|
|
const r17 = scrollHistory[r5];
|
|
const r22 = r19.scroll - r17.scroll;
|
|
const r21 = r19.time - r17.time;
|
|
const r24 = Math.sign(r22);
|
|
const r36 = r13;
|
|
const r3 = r2;
|
|
const r23 = r30;
|
|
let r37 = r23;
|
|
if (r24 !== 0) {
|
|
r37 = r24;
|
|
if (r23 !== 0) {
|
|
r37 = r23;
|
|
r31 = r36;
|
|
r4 = r3;
|
|
if (r24 !== r23) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
const r40 = r15.time - r17.time;
|
|
r31 = r36;
|
|
r4 = r3;
|
|
if (r40 > 1000) {
|
|
break;
|
|
}
|
|
let r41 = r36;
|
|
let r0 = r3;
|
|
if (r22 !== 0) {
|
|
r41 = r36;
|
|
r0 = r3;
|
|
if (!(r21 <= 0)) {
|
|
const r48 = Math.exp(-(r15.time - r19.time) / 200);
|
|
r0 = r3 + r22 / r21 * r48;
|
|
r41 = r36 + r48;
|
|
}
|
|
}
|
|
r13 = r41;
|
|
r2 = r0;
|
|
r30 = r37;
|
|
r31 = r13;
|
|
r4 = r2;
|
|
r1 = r5;
|
|
}
|
|
return r31 > 0 ? r4 / r31 : 0;
|
|
};
|
|
let unstable_batchedUpdates2 = r140.unstable_batchedUpdates;
|
|
if (typeof unstable_batchedUpdates2 !== "function") {
|
|
unstable_batchedUpdates2 = (a0) => a0();
|
|
}
|
|
unstable_batchedUpdates = unstable_batchedUpdates2;
|
|
c10649_104 = 1 / PixelRatio.get() + 0.01;
|
|
const { forwardRef, memo: memo5 } = r13;
|
|
c10649_110 = memo5(function ContainerLayoutCoordinatorComponent({ children }) {
|
|
let env21583;
|
|
const r6 = env10649[12];
|
|
const context3 = r6.useContext(c10649_17);
|
|
const r7 = ["containerLayoutEpoch"];
|
|
const r13 = env21583 = {
|
|
$parent: env10649
|
|
};
|
|
env21583[0] = void 0;
|
|
env21583[1] = void 0;
|
|
const context18 = r6.useContext(c10649_17);
|
|
env21583[0] = context18;
|
|
const r17 = r7.length === 1 ? r7[0] : r7.join("\x00");
|
|
env21583[1] = r17;
|
|
const memo5 = r6.useMemo($mk95160(r13), [context18, r17]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
r6.useLayoutEffect(() => {
|
|
if (c10649_27) {
|
|
const r7 = (function getContainerLayoutEffectScope(a0) {
|
|
let r20;
|
|
const pendingContainerIds = a0.pendingContainerIds;
|
|
a0.pendingContainerIds = void 0;
|
|
if (pendingContainerIds !== void 0) {
|
|
const state14 = a0.state;
|
|
let r21 = pendingContainerIds;
|
|
if (pendingContainerIds) {
|
|
const userScrollAnchorReset = state14.userScrollAnchorReset;
|
|
const r22 = userScrollAnchorReset == null ? void 0 : userScrollAnchorReset.keys.size;
|
|
r21 = pendingContainerIds;
|
|
if (r22) {
|
|
const set2 = new Set(pendingContainerIds);
|
|
let r32 = state14.userScrollAnchorReset.keys[Symbol.iterator]();
|
|
const next = r32.next;
|
|
while (true) {
|
|
const r9 = r32 === void 0 ? void 0 : (r20 = next.call(r32)).done ? r32 = void 0 : r20.value;
|
|
const r35 = r32;
|
|
r21 = set2;
|
|
if (r35 === void 0) {
|
|
break;
|
|
}
|
|
try {
|
|
const r37 = state14.containerItemKeys.get(r9);
|
|
if (r37 !== void 0) {
|
|
set2.add(r37);
|
|
}
|
|
} catch (r42) {
|
|
if (r32 !== void 0 && typeof r32.return === "function") {
|
|
try {
|
|
r32.return();
|
|
} catch {}
|
|
}
|
|
throw r42;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return r21;
|
|
}
|
|
})(context3);
|
|
if (r7 !== void 0) {
|
|
(0, env10649[109])(context3, r7);
|
|
}
|
|
}
|
|
}, [context3, (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0]]);
|
|
return children;
|
|
});
|
|
getComponent = (a0) => {
|
|
const r4 = env10649[12];
|
|
return r4.isValidElement(a0) ? a0 : a0 ? r4.createElement(a0, null) : null;
|
|
};
|
|
const r213 = memo5(function PositionViewState2({ id: id4, horizontal: horizontal6, style: style2, refView, ...rest }) {
|
|
let env21584;
|
|
const r19 = [`containerPosition${id4}`, `containerItemKey${id4}`];
|
|
const r24 = env21584 = {
|
|
$parent: env10649
|
|
};
|
|
env21584[0] = void 0;
|
|
env21584[1] = void 0;
|
|
const r26 = env10649[12];
|
|
const context18 = r26.useContext(c10649_17);
|
|
env21584[0] = context18;
|
|
const r31 = r19.length === 1 ? r19[0] : r19.join("\x00");
|
|
env21584[1] = r31;
|
|
const memo5 = r26.useMemo($mk95160(r24), [context18, r31]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r46 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 2);
|
|
let left2 = r46[0];
|
|
if (left2 === void 0) {
|
|
left2 = c10649_32;
|
|
}
|
|
r46[1];
|
|
return r26.createElement(env10649[11].View, {
|
|
ref: refView,
|
|
style: [style2, horizontal6 ? {
|
|
left: left2
|
|
} : {
|
|
top: left2
|
|
}],
|
|
...rest
|
|
});
|
|
});
|
|
let r215 = memo5(function PositionViewAnimated2({ id: id4, horizontal: horizontal6, style: style2, refView, ...rest }) {
|
|
const left2 = (0, env10649[111])(`containerPosition${id4}`, {
|
|
getValue: (a0) => a0 == null ? c10649_32 : a0
|
|
});
|
|
return env10649[12].createElement(env10649[11].Animated.View, {
|
|
ref: refView,
|
|
style: [style2, horizontal6 ? {
|
|
left: left2
|
|
} : {
|
|
top: left2
|
|
}],
|
|
...rest
|
|
});
|
|
});
|
|
c10649_113 = memo5(function PositionViewSticky2({ id: id4, horizontal, style, refView, animatedScrollY, stickyHeaderConfig, children, ...rest }) {
|
|
let memo2;
|
|
let env21586;
|
|
memo2 = void 0;
|
|
const r8 = env10649[12];
|
|
const context4 = r8.useContext(c10649_17);
|
|
const r33 = [`containerPosition${id4}`, "alignItemsAtEndPadding", "headerSize", "stylePaddingTop", `containerItemKey${id4}`, `containerItemIndex${id4}`, "totalSize"];
|
|
const r45 = env21586 = {
|
|
$parent: env10649
|
|
};
|
|
env21586[0] = void 0;
|
|
env21586[1] = void 0;
|
|
const context18 = r8.useContext(c10649_17);
|
|
env21586[0] = context18;
|
|
const r51 = r33.length === 1 ? r33[0] : r33.join("\x00");
|
|
env21586[1] = r51;
|
|
const memo5 = r8.useMemo($mk95160(r45), [context18, r51]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r66 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 7);
|
|
let r67 = r66[0];
|
|
if (r67 === void 0) {
|
|
r67 = c10649_32;
|
|
}
|
|
let c21585_5 = r67;
|
|
const r68 = r66[1];
|
|
const r20 = r68 !== void 0 ? r68 : 0;
|
|
let c21585_6 = r20;
|
|
const r69 = r66[2];
|
|
const r70 = r69 !== void 0 ? r69 : 0;
|
|
let c21585_7 = r70;
|
|
const r71 = r66[3];
|
|
const r72 = r71 !== void 0 ? r71 : 0;
|
|
let c21585_8 = r72;
|
|
const r21 = r66[4];
|
|
let c21585_9 = r21;
|
|
const r73 = r66[5];
|
|
let c21585_10 = r73;
|
|
const r74 = r66[6];
|
|
const memo = r8.useMemo(() => {
|
|
const state14 = context4.state;
|
|
let r10 = void 0;
|
|
if (c21585_9) {
|
|
const r11 = state14.sizes.get(c21585_9);
|
|
r10 = void 0;
|
|
if (r11) {
|
|
const r2 = r11 > 0;
|
|
r10 = void 0;
|
|
if (r2) {
|
|
const r15 = state14.props.stickyHeaderIndicesArr.indexOf(c21585_10);
|
|
r10 = void 0;
|
|
if (r15 !== -1) {
|
|
const r21 = state14.props.stickyHeaderIndicesArr[r15 + 1];
|
|
r10 = void 0;
|
|
if (r21 !== void 0) {
|
|
const r23 = state14.positions[r21];
|
|
r10 = r23 !== void 0 ? r23 - r11 : void 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return r10;
|
|
}, [context4.state, r73, r21, r74 !== void 0 ? r74 : 0]);
|
|
memo2 = r8.useMemo(() => {
|
|
if (animatedScrollY) {
|
|
const r6 = stickyHeaderConfig == null ? void 0 : stickyHeaderConfig.offset;
|
|
const r17 = r6 ?? 0;
|
|
const r15 = c21585_5 + c21585_7 + c21585_8 + c21585_6 - r17;
|
|
const translateX = memo !== void 0 ? memo <= c21585_5 ? memo : animatedScrollY.interpolate({
|
|
extrapolateLeft: "clamp",
|
|
extrapolateRight: "clamp",
|
|
inputRange: [r15, r15 + (memo - c21585_5)],
|
|
outputRange: [c21585_5, memo]
|
|
}) : animatedScrollY.interpolate({
|
|
extrapolateLeft: "clamp",
|
|
extrapolateRight: "extend",
|
|
inputRange: [r15, r15 + 5000],
|
|
outputRange: [c21585_5, c21585_5 + 5000]
|
|
});
|
|
return horizontal ? [{
|
|
translateX
|
|
}] : [{
|
|
translateY: translateX
|
|
}];
|
|
}
|
|
}, [r20, animatedScrollY, r70, r67, memo, r72, stickyHeaderConfig == null ? void 0 : stickyHeaderConfig.offset]);
|
|
return r8.createElement(env10649[11].Animated.View, {
|
|
ref: refView,
|
|
style: r8.useMemo(() => [style, {
|
|
zIndex: c21585_10 + 1000
|
|
}, {
|
|
transform: memo2
|
|
}], [style, r73, memo2]),
|
|
...rest
|
|
}, r8.useMemo(() => {
|
|
const r3 = stickyHeaderConfig == null ? void 0 : stickyHeaderConfig.backdropComponent;
|
|
let r14 = null;
|
|
if (r3) {
|
|
const r7 = env10649[12];
|
|
const View2 = env10649[11].View;
|
|
const r16 = {
|
|
style: {
|
|
inset: 0,
|
|
pointerEvents: "none",
|
|
position: "absolute"
|
|
}
|
|
};
|
|
const r10 = stickyHeaderConfig == null ? void 0 : stickyHeaderConfig.backdropComponent;
|
|
r14 = r7.createElement(View2, r16, r7.isValidElement(r10) ? r10 : r10 ? r7.createElement(r10, null) : null);
|
|
}
|
|
return r14;
|
|
}, [stickyHeaderConfig == null ? void 0 : stickyHeaderConfig.backdropComponent]), children);
|
|
});
|
|
if (IsNewArchitecture) {
|
|
r215 = r213;
|
|
}
|
|
c10649_114 = r215;
|
|
c10649_115 = createContext(null);
|
|
noop = () => {};
|
|
c10649_120 = new Map();
|
|
c10649_121 = memo5(function Container2({ id, itemKey, recycleItems, horizontal: horizontal2, getRenderedItem: getRenderedItem2, ItemSeparatorComponent, stickyHeaderConfig: stickyHeaderConfig2 }) {
|
|
let callback, left, width;
|
|
callback = void 0;
|
|
left = void 0;
|
|
width = void 0;
|
|
const r10 = env10649[12];
|
|
const context5 = r10.useContext(c10649_17);
|
|
const { columnWrapperStyle, animatedScrollY: animatedScrollY2, state: state14 } = context5;
|
|
const props = state14?.props;
|
|
let r32 = !!props?.horizontal;
|
|
if (r32) {
|
|
let r51 = props?.rtl;
|
|
if (r51 == null) {
|
|
r51 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r32 = r51;
|
|
}
|
|
let env21588;
|
|
let positionComponentInternal = context5.state.props.positionComponentInternal;
|
|
let stickyPositionComponentInternal = context5.state.props.stickyPositionComponentInternal;
|
|
const r64 = [`containerColumn${id}`, `containerSpan${id}`, `containerItemData${id}`, "numColumns", "extraData", `containerSticky${id}`];
|
|
const r78 = env21588 = {
|
|
$parent: env10649
|
|
};
|
|
env21588[0] = void 0;
|
|
env21588[1] = void 0;
|
|
const context18 = r10.useContext(c10649_17);
|
|
env21588[0] = context18;
|
|
const r83 = r64.length === 1 ? r64[0] : r64.join("\x00");
|
|
env21588[1] = r83;
|
|
const memo5 = r10.useMemo($mk95160(r78), [context18, r83]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const syncExternalStore = (0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3);
|
|
const r27 = env10649[4];
|
|
const r96 = r27(syncExternalStore, 6);
|
|
const r97 = r96[0];
|
|
const r30 = r97 !== void 0 ? r97 : 0;
|
|
const r99 = r96[1];
|
|
let r34 = r99 !== void 0 ? r99 : 1;
|
|
const r25 = r96[2];
|
|
const r100 = r96[3];
|
|
const r101 = r100 !== void 0 ? r100 : 1;
|
|
let callback2;
|
|
let env21590;
|
|
let c21587_7 = r101;
|
|
const r102 = r96[4];
|
|
const r24 = r96[5];
|
|
const r26 = env10649[10];
|
|
const ref = r26.useRef(null);
|
|
const id2 = id;
|
|
const context6 = context5;
|
|
const ref2 = ref;
|
|
callback2 = void 0;
|
|
const ref3 = r26.useRef({
|
|
didLayout: false,
|
|
horizontal: horizontal2,
|
|
itemKey
|
|
});
|
|
ref3.current.horizontal = horizontal2;
|
|
ref3.current.itemKey = itemKey;
|
|
const r112 = r27(r26.useState(0), 2);
|
|
const r113 = r112[0];
|
|
const setState = r112[1];
|
|
const callback5 = r26.useCallback((a0) => {
|
|
let c27900_5;
|
|
const current5 = ref3.current;
|
|
const id3 = id2;
|
|
const context16 = context6;
|
|
const current4 = current5;
|
|
c27900_5 = void 0;
|
|
const state14 = context6.state;
|
|
const itemKey3 = current4.itemKey;
|
|
current4.didLayout = true;
|
|
let lastSize = a0;
|
|
const r16 = current4.horizontal ? "width" : "height";
|
|
const r24 = Math.floor(8 * a0[r16]) / 8;
|
|
if (current4.lastSize) {
|
|
Math.floor(8 * current4.lastSize[r16]) / 8;
|
|
}
|
|
L13: {
|
|
state14.sizesKnown.get(itemKey3);
|
|
c27900_5 = () => {};
|
|
if (!c10649_27 && !(0 < r24)) {
|
|
const current6 = ref2.current;
|
|
const measure2 = current6?.measure;
|
|
if (measure2 == null) {
|
|
break L13;
|
|
}
|
|
const call = measure2.call;
|
|
const r42 = (a0, a1, a2, a3) => {
|
|
const lastSize2 = {
|
|
height: a3,
|
|
width: a2
|
|
};
|
|
lastSize = lastSize2;
|
|
current4.lastSize = lastSize2;
|
|
(0, env10649[107])(context16, [{
|
|
containerId: id3,
|
|
itemKey: itemKey3,
|
|
size: lastSize
|
|
}]);
|
|
};
|
|
if (call === Function.prototype.call) {
|
|
measure2.call(current6, r42);
|
|
break L13;
|
|
}
|
|
call.call(measure2, current6, r42);
|
|
} else {
|
|
current4.lastSize = lastSize;
|
|
(0, env10649[107])(context6, [{
|
|
containerId: id2,
|
|
itemKey: itemKey3,
|
|
size: lastSize
|
|
}]);
|
|
}
|
|
}
|
|
}, [id, context5, ref]);
|
|
callback2 = r26.useCallback(() => {
|
|
if (c10649_27) {
|
|
(0, env10649[87])(context6, id2);
|
|
} else {
|
|
setState((prevState) => prevState + 1);
|
|
}
|
|
}, [id, context5]);
|
|
r26.useLayoutEffect(() => {
|
|
context6.containerLayoutTriggers.set(id2, callback2);
|
|
return () => {
|
|
c10649_120.delete(ref3.current);
|
|
if (context6.containerLayoutTriggers.get(id2) === callback2) {
|
|
context6.containerLayoutTriggers.delete(id2);
|
|
}
|
|
};
|
|
}, [id, context5, callback2]);
|
|
r26.useLayoutEffect(() => {
|
|
if (c10649_27) {
|
|
(0, env10649[87])(context6, id2);
|
|
}
|
|
});
|
|
const r129 = {
|
|
measureInLayoutEffect: !c10649_27,
|
|
onLayoutChange: callback5,
|
|
ref
|
|
};
|
|
const r130 = [itemKey, r113];
|
|
const r131 = env21590 = {};
|
|
env21590[0] = void 0;
|
|
env21590[1] = void 0;
|
|
env21590[2] = void 0;
|
|
env21590[3] = void 0;
|
|
env21590[0] = r129.ref;
|
|
let measureInLayoutEffect = r129.measureInLayoutEffect;
|
|
if (measureInLayoutEffect === void 0) {
|
|
measureInLayoutEffect = true;
|
|
}
|
|
env21590[1] = measureInLayoutEffect;
|
|
const onLayoutProp = r129.onLayoutProp;
|
|
env21590[2] = onLayoutProp;
|
|
const onLayoutChange = r129.onLayoutChange;
|
|
env21590[3] = onLayoutChange;
|
|
const callback6 = r26.useCallback($mk95186(r131), [onLayoutChange, onLayoutProp]);
|
|
if (c10649_27) {
|
|
const r139 = [measureInLayoutEffect, ...r130];
|
|
r26.useLayoutEffect($mk95187(r131), r139);
|
|
}
|
|
r26.useEffect(() => {
|
|
if (c10649_27) {
|
|
return void 0;
|
|
}
|
|
ref3.current.didLayout = false;
|
|
let c27901_0 = setTimeout(() => {
|
|
const current5 = ref3.current;
|
|
const didLayout = current5.didLayout;
|
|
if (didLayout ? !didLayout : current5.lastSize) {
|
|
(0, env10649[107])(context6, [{
|
|
containerId: id2,
|
|
itemKey: current5.itemKey,
|
|
size: current5.lastSize
|
|
}]);
|
|
current5.didLayout = true;
|
|
}
|
|
}, 16);
|
|
return () => {
|
|
clearTimeout(c27901_0);
|
|
};
|
|
}, [id, context5, itemKey]);
|
|
callback = callback2;
|
|
const r148 = r30 > 0 ? r30 : 1;
|
|
const r149 = Math;
|
|
const r151 = Math;
|
|
if (!r34) {
|
|
r34 = 1;
|
|
}
|
|
const r154 = r149.min(r151.max(r34, 1), r101);
|
|
left = r101 > 1 ? (r148 - 1) / r101 * 100 + "%" : 0;
|
|
width = r101 > 1 ? r154 / r101 * 100 + "%" : void 0;
|
|
const memo6 = r26.useMemo(() => {
|
|
let r24, r40;
|
|
const contentContainerAlignItems = context5.state.props.contentContainerAlignItems;
|
|
const r4 = !ItemSeparatorComponent;
|
|
let r23 = void 0;
|
|
if (columnWrapperStyle) {
|
|
let columnGap = columnWrapperStyle.columnGap;
|
|
let rowGap = columnWrapperStyle.rowGap;
|
|
const gap = columnWrapperStyle.gap;
|
|
if (horizontal2) {
|
|
const paddingBottom = c21587_7 > 1 ? ((rowGap ? rowGap : gap) || 0) / 2 : void 0;
|
|
if (!columnGap) {
|
|
columnGap = gap;
|
|
}
|
|
if (!columnGap) {
|
|
columnGap = void 0;
|
|
}
|
|
const r36 = c21587_7 > 1;
|
|
let paddingTop = void 0;
|
|
if (r36) {
|
|
if (!rowGap) {
|
|
rowGap = gap;
|
|
}
|
|
if (!rowGap) {
|
|
rowGap = 0;
|
|
}
|
|
paddingTop = rowGap / 2;
|
|
}
|
|
r24 = {
|
|
paddingBottom,
|
|
paddingRight: columnGap,
|
|
paddingTop
|
|
};
|
|
} else {
|
|
r24 = {
|
|
paddingBottom: (rowGap ? rowGap : gap) || void 0,
|
|
paddingLeft: c21587_7 > 1 ? ((columnGap ? columnGap : gap) || 0) / 2 : void 0,
|
|
paddingRight: c21587_7 > 1 ? ((columnGap ? columnGap : gap) || 0) / 2 : void 0
|
|
};
|
|
}
|
|
r23 = r24;
|
|
}
|
|
if (horizontal2) {
|
|
const r47 = contentContainerAlignItems === "flex-end";
|
|
const r50 = {
|
|
bottom: r47 ? c21587_7 === 1 ? 0 : void 0 : void 0,
|
|
boxSizing: r23 ? "border-box" : void 0,
|
|
direction: void 0,
|
|
flexDirection: r4 ? void 0 : "row",
|
|
height: width,
|
|
left: 0,
|
|
position: "absolute",
|
|
top: r47 ? c21587_7 !== 1 ? left : void 0 : left
|
|
};
|
|
if (!r23) {
|
|
r23 = {};
|
|
}
|
|
HermesBuiltin.copyDataProperties(r50, r23);
|
|
r40 = r50;
|
|
} else {
|
|
r40 = {
|
|
boxSizing: r23 ? "border-box" : void 0,
|
|
left,
|
|
position: "absolute",
|
|
right: c21587_7 > 1 ? null : 0,
|
|
top: 0,
|
|
width,
|
|
...r23 ? r23 : {}
|
|
};
|
|
}
|
|
return r40;
|
|
}, [horizontal2, r32, left, width, columnWrapperStyle, context5.state.props.contentContainerAlignItems, r101, ItemSeparatorComponent]);
|
|
const memo7 = r26.useMemo(() => itemKey !== void 0 ? getRenderedItem2(itemKey) : null, [itemKey, r25, r102]);
|
|
const renderedItem = (memo7 ? memo7 : {}).renderedItem;
|
|
const memo8 = r26.useMemo(() => {
|
|
context5.viewRefs.set(id, ref);
|
|
return {
|
|
containerId: id,
|
|
triggerLayout: callback
|
|
};
|
|
}, [id, callback2]);
|
|
if (r24) {
|
|
if (!stickyPositionComponentInternal) {
|
|
stickyPositionComponentInternal = c10649_113;
|
|
}
|
|
positionComponentInternal = stickyPositionComponentInternal;
|
|
} else if (!positionComponentInternal) {
|
|
positionComponentInternal = c10649_114;
|
|
}
|
|
return r10.createElement(positionComponentInternal, {
|
|
animatedScrollY: r24 ? animatedScrollY2 : void 0,
|
|
horizontal: horizontal2,
|
|
id,
|
|
key: recycleItems ? void 0 : itemKey,
|
|
onLayout: callback6,
|
|
refView: ref,
|
|
stickyHeaderConfig: stickyHeaderConfig2,
|
|
style: memo6
|
|
}, r10.createElement(c10649_115.Provider, {
|
|
value: memo8
|
|
}, renderedItem, memo7 && ItemSeparatorComponent && r10.createElement(env10649[119], {
|
|
ItemSeparatorComponent,
|
|
leadingItem: memo7.item
|
|
})));
|
|
});
|
|
c10649_123 = memo5(function ContainerSlot2(a0) {
|
|
return env10649[12].createElement(env10649[122], {
|
|
...a0
|
|
});
|
|
});
|
|
c10649_124 = memo5(function ContainersLayer2({ children, horizontal: horizontal6 }) {
|
|
let env21591;
|
|
const r8 = env10649[12];
|
|
const columnWrapperStyle2 = r8.useContext(c10649_17).columnWrapperStyle;
|
|
const width2 = (0, env10649[111])("totalSize");
|
|
const r9 = ["readyToRender", "numColumns", "otherAxisSize"];
|
|
const r20 = env21591 = {
|
|
$parent: env10649
|
|
};
|
|
env21591[0] = void 0;
|
|
env21591[1] = void 0;
|
|
const context18 = r8.useContext(c10649_17);
|
|
env21591[0] = context18;
|
|
const r24 = r9.length === 1 ? r9[0] : r9.join("\x00");
|
|
env21591[1] = r24;
|
|
const memo5 = r8.useMemo($mk95160(r20), [context18, r24]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r38 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 3);
|
|
const r39 = r38[0];
|
|
const r40 = r38[1];
|
|
const r41 = r38[2];
|
|
const minHeight = r41 !== void 0 ? r41 : 0;
|
|
const style2 = horizontal6 ? {
|
|
height: minHeight || "100%",
|
|
minHeight,
|
|
opacity: r39 ? 1 : 0,
|
|
width: width2
|
|
} : {
|
|
height: width2,
|
|
minWidth: minHeight,
|
|
opacity: r39 ? 1 : 0
|
|
};
|
|
if (columnWrapperStyle2) {
|
|
let columnGap = columnWrapperStyle2.columnGap;
|
|
let rowGap = columnWrapperStyle2.rowGap;
|
|
const gap = columnWrapperStyle2.gap;
|
|
if (!columnGap) {
|
|
columnGap = gap;
|
|
}
|
|
if (!columnGap) {
|
|
columnGap = 0;
|
|
}
|
|
if (!rowGap) {
|
|
rowGap = gap;
|
|
}
|
|
if (!rowGap) {
|
|
rowGap = 0;
|
|
}
|
|
if (horizontal6) {
|
|
if (rowGap && r40 > 1) {
|
|
style2.marginVertical = -rowGap / 2;
|
|
}
|
|
if (columnGap) {
|
|
style2.marginRight = -columnGap;
|
|
}
|
|
} else {
|
|
if (columnGap && r40 > 1) {
|
|
style2.marginHorizontal = -columnGap;
|
|
}
|
|
if (rowGap) {
|
|
style2.marginBottom = -rowGap;
|
|
}
|
|
}
|
|
}
|
|
return r8.createElement(env10649[11].Animated.View, {
|
|
style: style2
|
|
}, r8.createElement(c10649_110, null, children));
|
|
});
|
|
c10649_125 = memo5(function Containers2({ horizontal: horizontal6, recycleItems, ItemSeparatorComponent: ItemSeparatorComponent2, stickyHeaderConfig: stickyHeaderConfig2, getRenderedItem: getRenderedItem3 }) {
|
|
let env21592;
|
|
const r8 = ["numContainersPooled"];
|
|
const r18 = env21592 = {
|
|
$parent: env10649
|
|
};
|
|
env21592[0] = void 0;
|
|
env21592[1] = void 0;
|
|
let r7 = env10649[12];
|
|
const context18 = r7.useContext(c10649_17);
|
|
env21592[0] = context18;
|
|
const r22 = r8.length === 1 ? r8[0] : r8.join("\x00");
|
|
env21592[1] = r22;
|
|
const memo5 = r7.useMemo($mk95160(r18), [context18, r22]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r37 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
const r38 = [];
|
|
let id4 = 0;
|
|
while (id4 < r37) {
|
|
const r41 = env10649[12];
|
|
r38.push(r41.createElement(c10649_123, {
|
|
getRenderedItem: getRenderedItem3,
|
|
horizontal: horizontal6,
|
|
ItemSeparatorComponent: ItemSeparatorComponent2,
|
|
id: id4,
|
|
key: id4,
|
|
recycleItems,
|
|
stickyHeaderConfig: stickyHeaderConfig2
|
|
}));
|
|
id4 = id4 + 1;
|
|
r7 = r41;
|
|
}
|
|
return r7.createElement(c10649_124, {
|
|
horizontal: horizontal6
|
|
}, r38);
|
|
});
|
|
ScrollView = _Module17.Animated.ScrollView;
|
|
SnapWrapperInner = r13.forwardRef(function SnapWrapperInner({ ScrollComponent, ...rest }, a1) {
|
|
let env21593;
|
|
const r15 = ["snapToOffsets"];
|
|
const r3 = env21593 = {
|
|
$parent: env10649
|
|
};
|
|
env21593[0] = void 0;
|
|
env21593[1] = void 0;
|
|
const r4 = env10649[12];
|
|
const context18 = r4.useContext(c10649_17);
|
|
env21593[0] = context18;
|
|
const r10 = r15.length === 1 ? r15[0] : r15.join("\x00");
|
|
env21593[1] = r10;
|
|
const memo5 = r4.useMemo($mk95160(r3), [context18, r10]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
return r4.createElement(ScrollComponent, {
|
|
...rest,
|
|
ref: a1,
|
|
snapToOffsets: (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0]
|
|
});
|
|
});
|
|
LayoutView = ({ onLayoutChange, refView, ...rest }) => {
|
|
const r9 = env10649[10];
|
|
let ref12 = r9.useRef(null);
|
|
if (refView != null) {
|
|
ref12 = refView;
|
|
}
|
|
let env21594;
|
|
const r15 = {
|
|
onLayoutChange,
|
|
ref: ref12
|
|
};
|
|
const r16 = env21594 = {};
|
|
env21594[0] = r15.ref;
|
|
let measureInLayoutEffect = r15.measureInLayoutEffect;
|
|
if (measureInLayoutEffect === void 0) {
|
|
measureInLayoutEffect = true;
|
|
}
|
|
env21594[1] = measureInLayoutEffect;
|
|
const onLayoutProp = r15.onLayoutProp;
|
|
env21594[2] = onLayoutProp;
|
|
const onLayoutChange2 = r15.onLayoutChange;
|
|
env21594[3] = onLayoutChange2;
|
|
const callback5 = r9.useCallback($mk95186(r16), [onLayoutChange2, onLayoutProp]);
|
|
if (c10649_27) {
|
|
const r27 = [measureInLayoutEffect, ...[]];
|
|
r9.useLayoutEffect($mk95187(r16), r27);
|
|
}
|
|
return env10649[12].createElement(env10649[11].View, {
|
|
...rest,
|
|
onLayout: callback5,
|
|
ref: ref12
|
|
});
|
|
};
|
|
c10649_130 = memo5(function AlignItemsAtEndSpacer2({ horizontal: horizontal6 }) {
|
|
let env21595;
|
|
const r6 = ["alignItemsAtEndPadding"];
|
|
const r11 = env21595 = {
|
|
$parent: env10649
|
|
};
|
|
env21595[0] = void 0;
|
|
env21595[1] = void 0;
|
|
const r7 = env10649[12];
|
|
const context18 = r7.useContext(c10649_17);
|
|
env21595[0] = context18;
|
|
const r15 = r6.length === 1 ? r6[0] : r6.join("\x00");
|
|
env21595[1] = r15;
|
|
const memo5 = r7.useMemo($mk95160(r11), [context18, r15]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r30 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
const width2 = r30 !== void 0 ? r30 : 0;
|
|
return width2 <= 0 ? null : r7.createElement(View, {
|
|
style: horizontal6 ? {
|
|
flexShrink: 0,
|
|
width: width2
|
|
} : {
|
|
flexShrink: 0,
|
|
height: width2
|
|
}
|
|
}, null);
|
|
});
|
|
c10649_131 = memo5(function ListComponent2(a0) {
|
|
let callback3;
|
|
let env21597;
|
|
const { canRender: _canRender, style: style2, contentContainerStyle, horizontal: horizontal3, initialContentOffset, recycleItems, ItemSeparatorComponent: ItemSeparatorComponent2, alignItemsAtEnd, onScroll: onScroll4, onLayout, ListHeaderComponent, ListHeaderComponentStyle, ListFooterComponent, ListFooterComponentStyle, ListEmptyComponent, getRenderedItem: getRenderedItem3, refScrollView, renderScrollComponent: renderScrollComponent2, onLayoutFooter, onInternalScrollBeginDrag, onInternalScrollEnd, scrollAdjustHandler, snapToIndices: snapToIndices2, stickyHeaderConfig: stickyHeaderConfig2, stickyHeaderIndices, useWindowScroll, ...rest } = a0;
|
|
let canRender = a0.canRender;
|
|
a0.alignItemsAtEnd;
|
|
a0.onInternalScrollEnd;
|
|
a0.scrollAdjustHandler;
|
|
a0.stickyHeaderIndices;
|
|
a0.useWindowScroll;
|
|
callback3 = void 0;
|
|
const r12 = env10649[12];
|
|
const context7 = r12.useContext(c10649_17);
|
|
const maintainVisibleContentPosition = context7.state.props.maintainVisibleContentPosition;
|
|
const r57 = ["otherAxisSize"];
|
|
const r58 = env21597 = {
|
|
$parent: env10649
|
|
};
|
|
env21597[0] = void 0;
|
|
env21597[1] = void 0;
|
|
const context18 = r12.useContext(c10649_17);
|
|
env21597[0] = context18;
|
|
const r62 = r57.length === 1 ? r57[0] : r57.join("\x00");
|
|
env21597[1] = r62;
|
|
const memo5 = r12.useMemo($mk95160(r58), [context18, r62]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
const r77 = (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
const height = r77 !== void 0 ? r77 : 0;
|
|
let alignItemsAtEndPaddingEnabled = context7.state.props.alignItemsAtEndPaddingEnabled;
|
|
const r85 = context7.state.needsOtherAxisSize ? height ? height <= 0 ? void 0 : horizontal3 ? {
|
|
height
|
|
} : {
|
|
width: height
|
|
} : void 0 : void 0;
|
|
let env21598;
|
|
const current5 = (a0, a1) => ({
|
|
...a0,
|
|
ref: a1
|
|
});
|
|
const r89 = env21598 = {
|
|
$parent: env10649
|
|
};
|
|
const ref12 = r12.useRef(renderScrollComponent2);
|
|
ref12.current = renderScrollComponent2;
|
|
env21598[0] = ref12;
|
|
const ref13 = r12.useRef(current5);
|
|
ref13.current = current5;
|
|
env21598[1] = ref13;
|
|
let r95 = r12.useMemo($mk95193(r89), [ref13, ref12]);
|
|
if (!renderScrollComponent2) {
|
|
r95 = ScrollView;
|
|
}
|
|
const r96 = snapToIndices2 ? SnapWrapperInner : r95;
|
|
const r97 = env10649[10];
|
|
callback3 = r97.useCallback((a0, a1) => {
|
|
let r11 = context7.values.get("footerSize") !== a0;
|
|
if (r11) {
|
|
(0, env10649[22])(context7, "footerSize", a0);
|
|
(0, env10649[50])(context7);
|
|
}
|
|
if (a1 != null) {
|
|
a1();
|
|
}
|
|
if (r11) {
|
|
const maintainScrollAtEnd2 = context7.state.props.maintainScrollAtEnd;
|
|
r11 = maintainScrollAtEnd2?.onFooterLayout;
|
|
}
|
|
if (r11) {
|
|
(0, env10649[64])(context7);
|
|
}
|
|
}, [context7]);
|
|
r97.useLayoutEffect(() => {
|
|
if (!ListHeaderComponent) {
|
|
const state14 = context7.state;
|
|
const r13 = context7.values.get("headerSize") || 0;
|
|
let r8 = state14.didMeasureHeader || r13 > 0.1;
|
|
if (r13 !== 0) {
|
|
(0, env10649[22])(context7, "headerSize", 0);
|
|
(0, env10649[50])(context7);
|
|
if (r8) {
|
|
const state15 = context7.state;
|
|
state15.didContainersLayout;
|
|
state15.didFinishInitialScroll;
|
|
const props = state15.props;
|
|
state15.scroll;
|
|
state15.scrollingTo;
|
|
if (props.horizontal) {
|
|
props.stylePaddingLeft;
|
|
r8 = false;
|
|
} else {
|
|
props.stylePaddingTop;
|
|
r8 = false;
|
|
}
|
|
}
|
|
if (r8) {
|
|
(0, env10649[65])(context7, 0 - r13);
|
|
}
|
|
}
|
|
state14.didMeasureHeader = true;
|
|
}
|
|
if (!ListFooterComponent) {
|
|
callback3(0);
|
|
}
|
|
}, [ListHeaderComponent, ListFooterComponent, context7, callback3]);
|
|
const callback5 = r97.useCallback((a0) => {
|
|
const r6 = a0[horizontal3 ? "width" : "height"];
|
|
const state14 = context7.state;
|
|
const r15 = context7.values.get("headerSize") || 0;
|
|
let r7 = state14.didMeasureHeader || r15 > 0.1;
|
|
if (r15 !== r6) {
|
|
(0, env10649[22])(context7, "headerSize", r6);
|
|
(0, env10649[50])(context7);
|
|
if (r7) {
|
|
const state15 = context7.state;
|
|
state15.didContainersLayout;
|
|
state15.didFinishInitialScroll;
|
|
const props = state15.props;
|
|
state15.scroll;
|
|
state15.scrollingTo;
|
|
if (props.horizontal) {
|
|
props.stylePaddingLeft;
|
|
r7 = false;
|
|
} else {
|
|
props.stylePaddingTop;
|
|
r7 = false;
|
|
}
|
|
}
|
|
if (r7) {
|
|
(0, env10649[65])(context7, r6 - r15);
|
|
}
|
|
}
|
|
state14.didMeasureHeader = true;
|
|
}, [context7, horizontal3]);
|
|
const callback6 = r97.useCallback((a0, c27917_1) => {
|
|
callback3(a0[horizontal3 ? "width" : "height"], () => {
|
|
if (onLayoutFooter != null) {
|
|
onLayoutFooter(a0, c27917_1);
|
|
}
|
|
});
|
|
}, [horizontal3, onLayoutFooter, callback3]);
|
|
const r114 = {
|
|
...rest,
|
|
onScrollBeginDrag: onInternalScrollBeginDrag,
|
|
contentContainerStyle: [horizontal3 ? {
|
|
height: "100%"
|
|
} : {}, contentContainerStyle],
|
|
contentOffset: initialContentOffset !== void 0 ? horizontal3 ? {
|
|
x: initialContentOffset,
|
|
y: 0
|
|
} : {
|
|
x: 0,
|
|
y: initialContentOffset
|
|
} : void 0,
|
|
horizontal: horizontal3,
|
|
maintainVisibleContentPosition: maintainVisibleContentPosition.size ? {
|
|
minIndexForVisible: 0
|
|
} : maintainVisibleContentPosition.data ? {
|
|
minIndexForVisible: 0
|
|
} : void 0,
|
|
onLayout,
|
|
onScroll: onScroll4,
|
|
ref: refScrollView,
|
|
ScrollComponent: snapToIndices2 ? r95 : void 0,
|
|
style: r85 ? [r85, style2] : style2
|
|
};
|
|
const element = r12.createElement(env10649[127], null);
|
|
let r132 = ListHeaderComponent;
|
|
if (ListHeaderComponent) {
|
|
r132 = r12.createElement(LayoutView, {
|
|
onLayoutChange: callback5,
|
|
style: ListHeaderComponentStyle
|
|
}, r12.isValidElement(ListHeaderComponent) ? ListHeaderComponent : ListHeaderComponent ? r12.createElement(ListHeaderComponent, null) : null);
|
|
}
|
|
const r144 = ListEmptyComponent && (r12.isValidElement(ListEmptyComponent) ? ListEmptyComponent : ListEmptyComponent ? r12.createElement(ListEmptyComponent, null) : null);
|
|
if (alignItemsAtEndPaddingEnabled) {
|
|
alignItemsAtEndPaddingEnabled = r12.createElement(c10649_130, {
|
|
horizontal: horizontal3
|
|
});
|
|
}
|
|
if (canRender) {
|
|
canRender = !ListEmptyComponent;
|
|
}
|
|
if (canRender) {
|
|
canRender = r12.createElement(c10649_125, {
|
|
getRenderedItem: getRenderedItem3,
|
|
horizontal: horizontal3,
|
|
ItemSeparatorComponent: ItemSeparatorComponent2,
|
|
recycleItems,
|
|
stickyHeaderConfig: stickyHeaderConfig2
|
|
});
|
|
}
|
|
let r159 = ListFooterComponent;
|
|
if (ListFooterComponent) {
|
|
r159 = r12.createElement(LayoutView, {
|
|
onLayoutChange: callback6,
|
|
style: ListFooterComponentStyle
|
|
}, r12.isValidElement(ListFooterComponent) ? ListFooterComponent : ListFooterComponent ? r12.createElement(ListFooterComponent, null) : null);
|
|
}
|
|
return r12.createElement(r96, r114, element, r132, r144, alignItemsAtEndPaddingEnabled, canRender, r159, false, c10649_31 && c10649_33);
|
|
});
|
|
const r244 = c10649_31 ? function useDevChecksImpl(a0) {
|
|
const context8 = env10649[12].useContext(c10649_17);
|
|
const { childrenMode, keyExtractor, renderScrollComponent, useWindowScroll } = a0;
|
|
const r13 = env10649[10];
|
|
r13.useEffect(() => {
|
|
let r2 = useWindowScroll;
|
|
if (useWindowScroll) {
|
|
r2 = renderScrollComponent;
|
|
}
|
|
if (r2 && c10649_31 && !c10649_53.has("useWindowScrollRenderScrollComponent")) {
|
|
c10649_53.add("useWindowScrollRenderScrollComponent");
|
|
console.warn(`[legend-list] useWindowScroll is not supported when renderScrollComponent is provided.`);
|
|
}
|
|
}, [renderScrollComponent, useWindowScroll]);
|
|
r13.useEffect(() => {
|
|
let r2 = keyExtractor;
|
|
if (!keyExtractor) {
|
|
r2 = context8.state.isFirst;
|
|
}
|
|
if (!r2) {
|
|
r2 = !context8.state.didDataChange;
|
|
}
|
|
if (!r2) {
|
|
r2 = childrenMode;
|
|
}
|
|
if (!r2 && c10649_31 && !c10649_53.has("keyExtractor")) {
|
|
c10649_53.add("keyExtractor");
|
|
console.warn(`[legend-list] Changing data without a keyExtractor can cause slow performance and resetting scroll. If your list data can change you should use a keyExtractor with a unique id for best performance and behavior.`);
|
|
}
|
|
}, [childrenMode, context8, keyExtractor]);
|
|
r13.useEffect(() => {
|
|
const state14 = context8.state;
|
|
state14.props.data.length;
|
|
state14.props.useWindowScroll;
|
|
}, [context8]);
|
|
} : function useDevChecksNoop(a0) {};
|
|
let ScrollAdjustHandler;
|
|
const useStateContext = function useStateContext() {
|
|
return env10649[12].useContext(c10649_17);
|
|
};
|
|
const useArr$ = function useArr$(a0) {
|
|
let env21547;
|
|
const r3 = env21547 = {
|
|
$parent: env10649
|
|
};
|
|
const r6 = env10649[12];
|
|
const context18 = r6.useContext(c10649_17);
|
|
env21547[0] = context18;
|
|
const r12 = a0.length === 1 ? a0[0] : a0.join("\x00");
|
|
env21547[1] = r12;
|
|
const memo5 = r6.useMemo($mk95160(r3), [context18, r12]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
return (0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3);
|
|
};
|
|
const getStickyPushLimit = function getStickyPushLimit(a0, a1, a2) {
|
|
if (a2) {
|
|
const r7 = a0.sizes.get(a2);
|
|
if (r7 && r7 > 0) {
|
|
const r11 = a0.props.stickyHeaderIndicesArr.indexOf(a1);
|
|
if (r11 !== -1) {
|
|
const r17 = a0.props.stickyHeaderIndicesArr[r11 + 1];
|
|
if (r17 !== void 0) {
|
|
const r19 = a0.positions[r17];
|
|
if (r19 !== void 0) {
|
|
return r19 - r7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const useLatestRef = function useLatestRef(a0) {
|
|
const ref12 = env10649[12].useRef(a0);
|
|
ref12.current = a0;
|
|
return ref12;
|
|
};
|
|
const useStableRenderComponent = function useStableRenderComponent(a0, a1) {
|
|
let env21576;
|
|
const r0 = env21576 = {
|
|
$parent: env10649
|
|
};
|
|
const r6 = env10649[12];
|
|
const ref13 = r6.useRef(a0);
|
|
ref13.current = a0;
|
|
env21576[0] = ref13;
|
|
const ref12 = r6.useRef(a1);
|
|
ref12.current = a1;
|
|
env21576[1] = ref12;
|
|
return r6.useMemo($mk95193(r0), [ref12, ref13]);
|
|
};
|
|
c10649_132 = r244;
|
|
ScrollAdjustHandler = function ScrollAdjustHandler(a0) {
|
|
(0, env10649[2])(this, ScrollAdjustHandler);
|
|
this.appliedAdjust = 0;
|
|
this.pendingAdjust = 0;
|
|
this.ctx = a0;
|
|
};
|
|
c10649_134 = __createClass(ScrollAdjustHandler, [{
|
|
key: "requestAdjust",
|
|
value: function requestAdjust(a0) {
|
|
const scrollingTo2 = this.ctx.state.scrollingTo;
|
|
if (scrollingTo2?.animated && !scrollingTo2.isInitialScroll) {
|
|
this.pendingAdjust = this.pendingAdjust + a0;
|
|
(0, env10649[22])(this.ctx, "scrollAdjustPending", this.pendingAdjust);
|
|
} else {
|
|
this.appliedAdjust = this.appliedAdjust + a0;
|
|
(0, env10649[22])(this.ctx, "scrollAdjust", this.appliedAdjust);
|
|
}
|
|
if (this.ctx.state.scrollingTo) {
|
|
let env27918;
|
|
const ctx = this.ctx;
|
|
const r31 = env27918 = {
|
|
$parent: env10649
|
|
};
|
|
env27918[0] = ctx;
|
|
ctx.state.scrollingTo;
|
|
ctx.state.animFrameCheckFinishedScroll = requestAnimationFrame($mk95167(r31));
|
|
}
|
|
}
|
|
}, {
|
|
key: "getAdjust",
|
|
value: function getAdjust() {
|
|
return this.appliedAdjust;
|
|
}
|
|
}, {
|
|
key: "commitPendingAdjust",
|
|
value: function commitPendingAdjust(a0) {
|
|
let scroll2;
|
|
const state14 = this.ctx.state;
|
|
const pendingAdjust = this.pendingAdjust;
|
|
this.pendingAdjust = 0;
|
|
if (pendingAdjust !== 0) {
|
|
if (a0?.index !== void 0) {
|
|
const ctx2 = this.ctx;
|
|
const index3 = a0.index;
|
|
const state16 = ctx2.state;
|
|
const r48 = (0, env10649[59])(this.ctx, index3 !== void 0 && state16.positions[index3] || 0, a0);
|
|
const ctx3 = this.ctx;
|
|
const state17 = ctx3.state;
|
|
const r52 = (0, env10649[25])(ctx3);
|
|
const isFinite2 = Number.isFinite(r52);
|
|
let r57 = r48;
|
|
if (isFinite2) {
|
|
const isFinite3 = Number.isFinite(state17.scrollLength);
|
|
r57 = r48;
|
|
if (isFinite3) {
|
|
const lastLayout = state17.lastLayout;
|
|
r57 = r48;
|
|
if (lastLayout) {
|
|
const r66 = Math.max(0, r52 - state17.scrollLength);
|
|
const viewOffset = a0?.viewOffset;
|
|
r57 = Math.min(r48, r66 + (typeof viewOffset === "number" ? viewOffset < 0 ? -viewOffset : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
scroll2 = Math.max(0, r57);
|
|
} else {
|
|
const ctx = this.ctx;
|
|
const r16 = state14.scroll + pendingAdjust;
|
|
const state15 = ctx.state;
|
|
const r17 = (0, env10649[25])(ctx);
|
|
scroll2 = Math.max(0, Number.isFinite(r17) ? Number.isFinite(state15.scrollLength) ? state15.lastLayout ? Math.min(r16, Math.max(0, r17 - state15.scrollLength) + (typeof void 0 === "number" ? void 0 < 0 ? NaN : 0 : 0)) : r16 : r16 : r16);
|
|
}
|
|
const r77 = scroll2 - state14.scroll;
|
|
if (Math.abs(r77) > 0.1 || Math.abs(pendingAdjust) > 0.1) {
|
|
this.appliedAdjust = this.appliedAdjust + r77;
|
|
state14.scroll = scroll2;
|
|
state14.scrollForNextCalculateItemsInView = void 0;
|
|
(0, env10649[22])(this.ctx, "scrollAdjust", this.appliedAdjust);
|
|
}
|
|
let env27919;
|
|
(0, env10649[22])(this.ctx, "scrollAdjustPending", 0);
|
|
const ctx4 = this.ctx;
|
|
const r99 = env27919 = {
|
|
$parent: env10649
|
|
};
|
|
env27919[0] = ctx4;
|
|
env27919[1] = {};
|
|
env27919[2] = void 0;
|
|
env27919[2] = ctx4.state;
|
|
unstable_batchedUpdates($mk95179(r99));
|
|
}
|
|
}
|
|
}]);
|
|
useCombinedRef = function useCombinedRef(...args) {
|
|
let c21600_0 = args;
|
|
return env10649[10].useCallback((a0) => {
|
|
for (const item5 of c21600_0) {
|
|
const r24 = item5;
|
|
if (item5) {
|
|
const r27 = (0, env10649[52])(r24);
|
|
if (r27) {
|
|
r24(a0);
|
|
} else {
|
|
r24.current = a0;
|
|
}
|
|
}
|
|
}
|
|
}, args);
|
|
};
|
|
sortAsc = (a0, a1) => a0 - a1;
|
|
toCount = (a0) => typeof a0 === "number" ? Number.isFinite(a0) ? Math.max(0, Math.floor(a0)) : 0 : 0;
|
|
addIndex = (a0, a1, a2) => {
|
|
if (a2 >= 0 && a2 < a1) {
|
|
a0.add(a2);
|
|
}
|
|
};
|
|
const r265 = memo5(forwardRef(function LegendList2(a0, a1) {
|
|
let r10;
|
|
const children = a0.children;
|
|
let data3 = a0.data;
|
|
const renderItem2 = a0.renderItem;
|
|
const r14 = (0, env10649[3])(a0, env10649[7]);
|
|
if (children !== void 0 && data3 === void 0) {
|
|
r10 = {
|
|
...r14,
|
|
childrenMode: true,
|
|
data: (Array.isArray(children) ? children : env10649[12].Children.toArray(children)).flat(1),
|
|
renderItem: (a0) => a0.item
|
|
};
|
|
} else {
|
|
if (!data3) {
|
|
data3 = [];
|
|
}
|
|
r10 = {
|
|
...r14,
|
|
data: data3,
|
|
renderItem: renderItem2
|
|
};
|
|
}
|
|
const r33 = env10649[12];
|
|
return r33.createElement(env10649[19], null, r33.createElement(c10649_141, {
|
|
...r10,
|
|
ref: a1
|
|
}));
|
|
}));
|
|
c10649_141 = forwardRef(function LegendListInner2(a0, a1) {
|
|
let r186, r222, r228, r269, r273, r326, r463, maintainVisibleContentPosition2, refreshControl2;
|
|
const r31 = env10649[10];
|
|
const callback5 = r31.useCallback((a0) => {}, []);
|
|
if (a0.recycleItems === void 0 && c10649_31 && !c10649_53.has("recycleItems-omitted")) {
|
|
c10649_53.add("recycleItems-omitted");
|
|
console.warn(`[legend-list] recycleItems was not provided, so it defaults to false. Set recycleItems explicitly to true for better performance with recycling-aware rows, or false to preserve remount-on-reuse behavior.`);
|
|
}
|
|
const alignItemsAtEnd = a0.alignItemsAtEnd;
|
|
const alignItemsAtEnd2 = alignItemsAtEnd !== void 0 && alignItemsAtEnd;
|
|
let context9, c21601_23, stickyHeaderIndices, ref4, ref5, current2, ref6, state12, current3, c21601_31, c21601_32, c21601_33, memo3, initializeStateVars2, memo4;
|
|
const { anchoredEndSpace, alwaysRender } = a0;
|
|
let columnWrapperStyle2 = a0.columnWrapperStyle;
|
|
const { contentContainerStyle, contentInset, data: data3 = [] } = a0;
|
|
let c21601_2 = data3;
|
|
const { dataKey, dataVersion, drawDistance: drawDistance2 = 250 } = a0;
|
|
a0.contentInsetEndAdjustment;
|
|
const estimatedItemSize = a0.estimatedItemSize;
|
|
const estimatedItemSize2 = estimatedItemSize !== void 0 ? estimatedItemSize : 100;
|
|
let estimatedListSize = a0.estimatedListSize;
|
|
const { extraData, getFixedItemSize, getItemType, horizontal: horizontal4, rtl, estimatedHeaderSize, initialScrollAtEnd = false, initialScrollIndex, initialScrollOffset, experimental_adaptiveRender, itemsAreEqual } = a0;
|
|
let keyExtractor2 = a0.keyExtractor;
|
|
const { ListEmptyComponent, ListFooterComponent: ListFooterComponent2, ListFooterComponentStyle, ListHeaderComponent: ListHeaderComponent2, maintainScrollAtEnd: maintainScrollAtEnd2 = false, maintainScrollAtEndThreshold: maintainScrollAtEndThreshold2 = 0.1, maintainVisibleContentPosition, numColumns = 1, overrideItemLayout, onEndReached, onEndReachedThreshold } = a0;
|
|
let onStartReachedThreshold2 = 0.5;
|
|
const onEndReachedThreshold2 = onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 0.5;
|
|
const { onItemSizeChanged, onMetricsChange, onLayout, onLoad, onMomentumScrollEnd: onMomentumScrollEnd2, onRefresh, onScroll: onScroll4, onScrollBeginDrag: onScrollBeginDrag2, onStartReached, onStartReachedThreshold } = a0;
|
|
if (onStartReachedThreshold !== void 0) {
|
|
onStartReachedThreshold2 = onStartReachedThreshold;
|
|
}
|
|
const { onStickyHeaderChange, onFirstVisibleItemChanged, onViewableItemsChanged } = a0;
|
|
let progressViewOffset = a0.progressViewOffset;
|
|
const { recycleItems: recycleItems2 = false, refreshControl, refreshing, refScrollView, renderScrollComponent: renderScrollComponent2, renderItem: renderItem2, scrollEventThrottle: scrollEventThrottle2, snapToIndices, stickyHeaderIndices: stickyHeaderIndices3, style: style2 } = a0;
|
|
a0.useWindowScroll;
|
|
const { viewabilityConfig, viewabilityConfigCallbackPairs } = a0;
|
|
const r47 = env10649[3];
|
|
const r35 = r47(a0, env10649[8]);
|
|
const { animatedPropsInternal, positionComponentInternal, stickyPositionComponentInternal } = a0;
|
|
r35.positionComponentInternal;
|
|
r35.stickyPositionComponentInternal;
|
|
const r50 = r47(r35, env10649[9]);
|
|
const r153 = StyleSheet.flatten(contentContainerStyle);
|
|
const alignItemsAtEndPaddingEnabled = (alignItemsAtEnd2 ? !horizontal4 : alignItemsAtEnd2) && r153?.minHeight == null && data3.length > 0;
|
|
let r157 = alignItemsAtEnd2 && !alignItemsAtEndPaddingEnabled;
|
|
if (r157) {
|
|
const r11 = r153 == null;
|
|
r157 = horizontal4 ? (r11 ? void 0 : r153.minWidth) == null : (r11 ? void 0 : r153.minHeight) == null;
|
|
}
|
|
const contentContainerStyle2 = {
|
|
...r153,
|
|
...alignItemsAtEnd2 && !alignItemsAtEndPaddingEnabled ? {
|
|
display: "flex",
|
|
flexDirection: horizontal4 ? "row" : "column",
|
|
...r157 ? {
|
|
flexGrow: 1
|
|
} : {},
|
|
justifyContent: "flex-end"
|
|
} : {}
|
|
};
|
|
const style3 = {
|
|
...StyleSheet.flatten(style2)
|
|
};
|
|
const r178 = env10649[55];
|
|
const stylePaddingTop = r178(style3, contentContainerStyle2, "Top");
|
|
let c21601_13 = stylePaddingTop;
|
|
const stylePaddingBottom = r178(style3, contentContainerStyle2, "Bottom");
|
|
const stylePaddingLeft = r178(style3, contentContainerStyle2, "Left");
|
|
const stylePaddingRight = r178(style3, contentContainerStyle2, "Right");
|
|
let maintainScrollAtEnd3 = void 0;
|
|
if (maintainScrollAtEnd2) {
|
|
if (maintainScrollAtEnd2 === true) {
|
|
r186 = {
|
|
...(0, env10649[140])(void 0, false),
|
|
animated: false
|
|
};
|
|
} else {
|
|
r186 = {
|
|
...(0, env10649[140])(maintainScrollAtEnd2.on, "on" in maintainScrollAtEnd2)
|
|
};
|
|
const animated = maintainScrollAtEnd2.animated;
|
|
r186.animated = animated != null && animated;
|
|
}
|
|
maintainScrollAtEnd3 = r186;
|
|
}
|
|
L76: {
|
|
if (maintainVisibleContentPosition === true) {
|
|
maintainVisibleContentPosition2 = {
|
|
data: true,
|
|
size: true
|
|
};
|
|
} else {
|
|
if (maintainVisibleContentPosition && typeof maintainVisibleContentPosition === "object") {
|
|
const data4 = maintainVisibleContentPosition.data;
|
|
const data8 = data4 != null && data4;
|
|
const size = maintainVisibleContentPosition.size;
|
|
maintainVisibleContentPosition2 = {
|
|
data: data8,
|
|
shouldRestorePosition: maintainVisibleContentPosition.shouldRestorePosition,
|
|
size: size == null || size
|
|
};
|
|
break L76;
|
|
}
|
|
maintainVisibleContentPosition2 = maintainVisibleContentPosition === false ? {
|
|
data: false,
|
|
size: false
|
|
} : {
|
|
data: false,
|
|
size: true
|
|
};
|
|
}
|
|
}
|
|
let c21601_15 = maintainVisibleContentPosition2;
|
|
const r211 = initialScrollIndex != null;
|
|
let r212 = initialScrollOffset != null;
|
|
let r213 = (initialScrollAtEnd ? !initialScrollAtEnd : !r211) && !r212;
|
|
if (r213) {
|
|
let r215 = !!horizontal4;
|
|
if (r215) {
|
|
let r216 = rtl;
|
|
if (r216 == null) {
|
|
r216 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r215 = r216;
|
|
}
|
|
r213 = r215;
|
|
}
|
|
let c21601_16 = r213;
|
|
let r81 = initialScrollAtEnd ? !initialScrollAtEnd : !r211;
|
|
if (r81) {
|
|
if (!r212) {
|
|
r212 = r213;
|
|
}
|
|
r81 = r212;
|
|
}
|
|
let c21601_17 = r81;
|
|
const r221 = initialScrollAtEnd ? initialScrollAtEnd : r211;
|
|
let c21601_18 = r221;
|
|
if (initialScrollAtEnd) {
|
|
r222 = {
|
|
index: Math.max(0, data3.length - 1),
|
|
preserveForBottomPadding: true,
|
|
viewOffset: -stylePaddingBottom,
|
|
viewPosition: 1
|
|
};
|
|
} else if (r211) {
|
|
if (typeof initialScrollIndex === "object") {
|
|
const index3 = initialScrollIndex.index;
|
|
const index4 = index3 ?? 0;
|
|
const preserveForBottomPadding = initialScrollIndex.viewOffset === void 0 && initialScrollIndex.viewPosition === 1 || void 0;
|
|
let viewOffset = initialScrollIndex.viewOffset;
|
|
if (viewOffset == null) {
|
|
viewOffset = initialScrollIndex.viewPosition === 1 ? -stylePaddingBottom : 0;
|
|
}
|
|
const viewPosition2 = initialScrollIndex.viewPosition;
|
|
r228 = {
|
|
index: index4,
|
|
preserveForBottomPadding,
|
|
viewOffset,
|
|
viewPosition: viewPosition2 ?? 0
|
|
};
|
|
} else {
|
|
r228 = {
|
|
index: initialScrollIndex ?? 0,
|
|
viewOffset: initialScrollOffset ?? 0
|
|
};
|
|
}
|
|
r222 = r228;
|
|
} else {
|
|
r222 = r81 ? {
|
|
contentOffset: initialScrollOffset ?? 0,
|
|
index: 0,
|
|
viewOffset: 0
|
|
} : void 0;
|
|
}
|
|
const initialScroll = r222;
|
|
const r251 = env10649[12];
|
|
const state14 = r251.useState(!c10649_27);
|
|
const r256 = env10649[4];
|
|
const r257 = r256(state14, 2);
|
|
const canRender = r257[0];
|
|
const setState2 = r257[1];
|
|
const dispatch2 = r256(r251.useReducer((a0) => a0 + 1, 0), 2)[1];
|
|
context9 = r251.useContext(c10649_17);
|
|
if (!columnWrapperStyle2) {
|
|
L128: {
|
|
const { gap, columnGap, rowGap } = contentContainerStyle2;
|
|
if (!gap && !columnGap) {
|
|
r269 = void 0;
|
|
if (!rowGap) {
|
|
break L128;
|
|
}
|
|
}
|
|
contentContainerStyle2.gap = void 0;
|
|
contentContainerStyle2.columnGap = void 0;
|
|
contentContainerStyle2.rowGap = void 0;
|
|
r269 = {
|
|
columnGap,
|
|
gap,
|
|
rowGap
|
|
};
|
|
}
|
|
columnWrapperStyle2 = r269;
|
|
}
|
|
context9.columnWrapperStyle = columnWrapperStyle2;
|
|
const columnWrapperStyle3 = context9.columnWrapperStyle;
|
|
const r272 = columnWrapperStyle3 == null;
|
|
if (horizontal4) {
|
|
let r276 = r272 ? void 0 : columnWrapperStyle3.columnGap;
|
|
if (r276 == null) {
|
|
const columnWrapperStyle5 = context9.columnWrapperStyle;
|
|
r276 = columnWrapperStyle5?.gap;
|
|
}
|
|
r273 = r276;
|
|
} else {
|
|
r273 = r272 ? void 0 : columnWrapperStyle3.rowGap;
|
|
if (r273 == null) {
|
|
const columnWrapperStyle4 = context9.columnWrapperStyle;
|
|
r273 = columnWrapperStyle4?.gap;
|
|
}
|
|
}
|
|
const scrollAxisGap = typeof r273 === "number" ? Number.isFinite(r273) ? r273 : 0 : 0;
|
|
const ref12 = r31.useRef(null);
|
|
const combinedRef = useCombinedRef(ref12, refScrollView);
|
|
const r94 = keyExtractor2 == null ? (a0, a1) => a1.toString() : keyExtractor2;
|
|
c21601_23 = r94;
|
|
stickyHeaderIndices = stickyHeaderIndices3;
|
|
ref4 = r31.useRef(void 0);
|
|
const r294 = [anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex, alwaysRender == null ? void 0 : alwaysRender.top, alwaysRender == null ? void 0 : alwaysRender.bottom, , , , , , ,];
|
|
const r102 = alwaysRender == null ? void 0 : alwaysRender.indices;
|
|
r294[3] = r102 == null ? void 0 : r102.join(",");
|
|
const r304 = alwaysRender == null ? void 0 : alwaysRender.keys;
|
|
const r306 = r304 == null ? void 0 : r304.join(",");
|
|
const r309 = () => {
|
|
const arr = (function getAlwaysRenderIndices(a0, a1, a2, a3) {
|
|
let size;
|
|
if (a1.length === 0) {
|
|
return [];
|
|
}
|
|
const set2 = new Set();
|
|
const length = a1.length;
|
|
const top = a0?.top;
|
|
const r33 = toCount(top);
|
|
if (r33 > 0) {
|
|
const r37 = 0 < Math.min(r33, length);
|
|
let r39 = 0;
|
|
if (r37) {
|
|
do {
|
|
addIndex(set2, length, r39);
|
|
r39 = r39 + 1;
|
|
} while (r39 < Math.min(r33, length));
|
|
}
|
|
}
|
|
const r47 = toCount(a0?.bottom);
|
|
if (r47 > 0) {
|
|
let r51 = Math.max(0, length - r47);
|
|
while (r51 < length) {
|
|
addIndex(set2, length, r51);
|
|
r51 = r51 + 1;
|
|
}
|
|
}
|
|
const indices = a0?.indices;
|
|
if (indices?.length) {
|
|
for (const indice of a0.indices) {
|
|
const r64 = indice;
|
|
if (Number.isFinite(indice)) {
|
|
addIndex(set2, length, Math.floor(r64));
|
|
}
|
|
}
|
|
}
|
|
const keys = a0?.keys;
|
|
if (keys?.length) {
|
|
const set3 = new Set(a0.keys);
|
|
if (0 < length) {
|
|
const r85 = set3.size > 0;
|
|
let r87 = 0;
|
|
if (r85) {
|
|
do {
|
|
const r89 = a2(a1[r87], r87);
|
|
const r91 = set3.has(r89);
|
|
const r92 = r87;
|
|
if (r91) {
|
|
addIndex(set2, length, r92);
|
|
set3.delete(r89);
|
|
}
|
|
const r97 = r92 + 1;
|
|
if (!(r97 < length)) {
|
|
break;
|
|
}
|
|
size = set3.size;
|
|
r87 = r97;
|
|
} while (size > 0);
|
|
}
|
|
}
|
|
}
|
|
if (a3 !== void 0 && Number.isFinite(a3)) {
|
|
const r105 = Math.floor(a3);
|
|
let r106 = r105 >= 0 ? r105 : length;
|
|
while (r106 < length) {
|
|
addIndex(set2, length, r106);
|
|
r106 = r106 + 1;
|
|
}
|
|
}
|
|
const r111 = Array.from(set2);
|
|
r111.sort(sortAsc);
|
|
return r111;
|
|
})(alwaysRender, c21601_2, c21601_23, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex);
|
|
return {
|
|
arr,
|
|
set: new Set(arr)
|
|
};
|
|
};
|
|
r294[4] = r306;
|
|
r294[5] = data3;
|
|
r294[6] = dataKey;
|
|
r294[7] = dataVersion;
|
|
r294[8] = r94;
|
|
const memo5 = r31.useMemo(r309, r294);
|
|
ref5 = r31.useRef(void 0);
|
|
current2 = !!overrideItemLayout;
|
|
ref6 = r31.useRef(current2);
|
|
if (!ref5.current) {
|
|
if (!context9.state) {
|
|
if (estimatedListSize == null) {
|
|
if (c10649_27) {
|
|
r326 = {
|
|
height: 0,
|
|
width: 0
|
|
};
|
|
} else {
|
|
const r323 = env10649[11].Dimensions.get("window");
|
|
r326 = {
|
|
height: r323.height,
|
|
width: r323.width
|
|
};
|
|
}
|
|
estimatedListSize = r326;
|
|
}
|
|
const scrollLength = estimatedListSize[horizontal4 ? "width" : "height"];
|
|
const values = context9.values;
|
|
const initialMode = experimental_adaptiveRender?.initialMode;
|
|
values.set("adaptiveRender", initialMode ?? "normal");
|
|
context9.state = {
|
|
averageSizes: {},
|
|
columnSpans: [],
|
|
columns: [],
|
|
containerItemGenerations: [],
|
|
containerItemKeys: new Map(),
|
|
containerItemMetadata: new Map(),
|
|
contentInsetOverride: void 0,
|
|
dataChangeEpoch: 0,
|
|
dataChangeNeedsScrollUpdate: false,
|
|
didColumnsChange: false,
|
|
didDataChange: false,
|
|
didLoad: false,
|
|
enableScrollForNextCalculateItemsInView: true,
|
|
endBuffered: -1,
|
|
endNoBuffer: -1,
|
|
endReachedSnapshot: void 0,
|
|
firstFullyOnScreenIndex: -1,
|
|
hasHadNonEmptyData: data3.length > 0,
|
|
idCache: [],
|
|
idsInView: [],
|
|
indexByKey: new Map(),
|
|
initialScroll,
|
|
initialScrollSession: initialScroll ? {
|
|
kind: r81 ? "offset" : "bootstrap",
|
|
previousDataLength: data3.length
|
|
} : void 0,
|
|
isEndReached: null,
|
|
isFirst: true,
|
|
isStartReached: null,
|
|
lastBatchingAction: Date.now(),
|
|
lastLayout: void 0,
|
|
lastScrollDelta: 0,
|
|
loadStartTime: Date.now(),
|
|
minIndexSizeChanged: 0,
|
|
nativeContentInset: void 0,
|
|
nativeMarginTop: 0,
|
|
pendingDataComparison: void 0,
|
|
pendingNativeMVCPAdjust: void 0,
|
|
positions: [],
|
|
props: {},
|
|
queuedCalculateItemsInView: 0,
|
|
queuedFullDrawDistancePrewarm: void 0,
|
|
refScroller: {
|
|
current: null
|
|
},
|
|
scroll: 0,
|
|
scrollAdjustHandler: new c10649_134(context9),
|
|
scrollForNextCalculateItemsInView: void 0,
|
|
scrollHistory: [],
|
|
scrollLength,
|
|
scrollPending: 0,
|
|
scrollPrev: 0,
|
|
scrollPrevTime: 0,
|
|
scrollProcessingEnabled: true,
|
|
scrollTime: 0,
|
|
sizes: new Map(),
|
|
sizesKnown: new Map(),
|
|
startBuffered: -1,
|
|
startNoBuffer: -1,
|
|
startReachedSnapshot: void 0,
|
|
stickyContainerPool: new Set(),
|
|
stickyContainers: new Map(),
|
|
timeoutAdaptiveRender: void 0,
|
|
timeouts: new Set(),
|
|
totalSize: 0,
|
|
viewabilityConfigCallbackPairs: void 0
|
|
};
|
|
state12 = context9.state;
|
|
state12.triggerCalculateItemsInView = (a0) => {
|
|
let env27920;
|
|
let r4 = a0;
|
|
const r5 = env27920 = {
|
|
$parent: env10649
|
|
};
|
|
env27920[0] = context9;
|
|
if (a0 === void 0) {
|
|
r4 = {};
|
|
}
|
|
env27920[1] = r4;
|
|
env27920[2] = void 0;
|
|
env27920[2] = context9.state;
|
|
unstable_batchedUpdates($mk95179(r5));
|
|
};
|
|
state12.reprocessCurrentScroll = () => {
|
|
(0, env10649[70])(context9, state12.scroll, true);
|
|
};
|
|
const r409 = env10649[22];
|
|
r409(context9, "maintainVisibleContentPosition", maintainVisibleContentPosition2);
|
|
r409(context9, "extraData", extraData);
|
|
if (estimatedHeaderSize !== void 0) {
|
|
r409(context9, "headerSize", estimatedHeaderSize);
|
|
}
|
|
}
|
|
ref5.current = context9.state;
|
|
}
|
|
current3 = ref5.current;
|
|
const isFirst = current3.isFirst;
|
|
const adaptiveRender = current3.props.adaptiveRender;
|
|
const numColumns3 = current3.props.numColumns;
|
|
const r423 = isFirst ? !isFirst : context9.scrollAxisGap !== scrollAxisGap;
|
|
context9.scrollAxisGap = scrollAxisGap;
|
|
current3.didColumnsChange = numColumns !== numColumns3 || r423;
|
|
const data5 = current3.props.data;
|
|
const length = data5?.length;
|
|
const r431 = length ?? 0;
|
|
const data6 = current3.props.data;
|
|
let r436 = current3.props.dataKey !== dataKey;
|
|
const dataVersion2 = current3.props.dataVersion;
|
|
let r12 = r436 ? r436 : dataVersion2 !== dataVersion;
|
|
if (!r12) {
|
|
let r439 = data6 !== data3;
|
|
if (r439) {
|
|
const data7 = current3.props.data;
|
|
current3.pendingDataComparison = void 0;
|
|
let r9 = true;
|
|
if (data7) {
|
|
r9 = true;
|
|
if (data3) {
|
|
const length2 = data3.length;
|
|
const length3 = data7.length;
|
|
r9 = true;
|
|
if (length2 === length3) {
|
|
const { idCache, props } = current3;
|
|
const { itemsAreEqual: itemsAreEqual2, keyExtractor: keyExtractor3 } = props;
|
|
const r15 = 0 < data3.length;
|
|
let r446 = 0;
|
|
let r447 = void 0;
|
|
r9 = false;
|
|
if (r15) {
|
|
do {
|
|
const r108 = data3[r446];
|
|
const r107 = data7[r446];
|
|
const r0 = r446;
|
|
const byIndex = r447;
|
|
let r106 = byIndex;
|
|
if (r108 !== r107) {
|
|
if (!keyExtractor3) {
|
|
r9 = true;
|
|
if (!byIndex) {
|
|
break;
|
|
}
|
|
current3.pendingDataComparison = {
|
|
byIndex,
|
|
nextData: data3,
|
|
previousData: data7
|
|
};
|
|
r9 = true;
|
|
break;
|
|
}
|
|
let r450 = idCache[r0];
|
|
if (r450 == null) {
|
|
r450 = keyExtractor3(data7[r0], r0);
|
|
}
|
|
if (r450 !== keyExtractor3(data3[r0], r0)) {
|
|
r9 = true;
|
|
if (!byIndex) {
|
|
break;
|
|
}
|
|
current3.pendingDataComparison = {
|
|
byIndex,
|
|
nextData: data3,
|
|
previousData: data7
|
|
};
|
|
r9 = true;
|
|
break;
|
|
}
|
|
if (!itemsAreEqual2) {
|
|
r9 = true;
|
|
if (!byIndex) {
|
|
break;
|
|
}
|
|
current3.pendingDataComparison = {
|
|
byIndex,
|
|
nextData: data3,
|
|
previousData: data7
|
|
};
|
|
r9 = true;
|
|
break;
|
|
}
|
|
const r458 = itemsAreEqual2(data7[r0], data3[r0], r0, data3);
|
|
const byIndex2 = byIndex == null ? [] : byIndex;
|
|
byIndex2[r0] = r458 ? 1 : 2;
|
|
r106 = byIndex2;
|
|
if (!r458) {
|
|
current3.pendingDataComparison = {
|
|
byIndex: byIndex2,
|
|
nextData: data3,
|
|
previousData: data7
|
|
};
|
|
r9 = true;
|
|
break;
|
|
}
|
|
}
|
|
const r461 = r0 + 1;
|
|
r463 = r461 < data3.length;
|
|
r447 = r106;
|
|
r446 = r461;
|
|
r9 = false;
|
|
} while (r463);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
r439 = r9;
|
|
}
|
|
r12 = r439;
|
|
}
|
|
c21601_31 = r12;
|
|
let r465 = (isFirst ? !isFirst : r12) && current3.hasHadNonEmptyData;
|
|
if (r465) {
|
|
if (!r436) {
|
|
r436 = r431 === 0;
|
|
}
|
|
r465 = r436;
|
|
}
|
|
if (r465) {
|
|
r465 = data3.length > 0;
|
|
}
|
|
c21601_32 = r465;
|
|
let r467 = (r12 ? !initialScrollAtEnd : r12) && current3.didFinishInitialScroll;
|
|
if (r467) {
|
|
const initialScroll2 = current3.initialScroll;
|
|
r467 = initialScroll2?.viewPosition === 1;
|
|
}
|
|
if (r467) {
|
|
r467 = current3.props.data.length > 0;
|
|
}
|
|
if (r467) {
|
|
if (current3.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(current3.timeoutPreservedInitialScrollClear);
|
|
current3.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
current3.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
current3.initialScroll = void 0;
|
|
(0, env10649[38])(current3);
|
|
}
|
|
if (r12) {
|
|
current3.dataChangeEpoch = current3.dataChangeEpoch + 1;
|
|
current3.dataChangeNeedsScrollUpdate = true;
|
|
current3.didDataChange = true;
|
|
current3.previousData = current3.props.data;
|
|
}
|
|
const r485 = onScroll4 ?? callback5;
|
|
const r487 = scrollEventThrottle2 ?? 0;
|
|
let callback4;
|
|
const onScroll2 = r485;
|
|
const scrollEventThrottle = r487;
|
|
const r490 = env10649[10];
|
|
const ref7 = r490.useRef(null);
|
|
const ref8 = r490.useRef(0);
|
|
const ref9 = r490.useRef(null);
|
|
const clearTimeoutRef2 = () => {};
|
|
callback4 = r490.useCallback(function(a0, a1, ...current5) {
|
|
const current6 = Date.now();
|
|
ref9.current = current5;
|
|
if (current6 - ref8.current >= a1) {
|
|
ref8.current = current6;
|
|
a0.apply(void 0, [...current5]);
|
|
if (ref7.current) {
|
|
clearTimeout(ref7.current);
|
|
ref7.current = null;
|
|
}
|
|
} else {
|
|
if (ref7.current) {
|
|
clearTimeout(ref7.current);
|
|
ref7.current = null;
|
|
}
|
|
ref7.current = setTimeout(() => {
|
|
if (ref9.current) {
|
|
ref8.current = Date.now();
|
|
a0.apply(void 0, [...ref9.current]);
|
|
ref7.current = null;
|
|
ref9.current = null;
|
|
}
|
|
}, a1 - (current6 - ref8.current));
|
|
}
|
|
}, ["throttle"]);
|
|
const onScroll6 = scrollEventThrottle2 ? onScroll4 && ((a0) => callback4(onScroll2, scrollEventThrottle, {
|
|
nativeEvent: a0.nativeEvent
|
|
})) : onScroll4;
|
|
let r504 = isFirst ? !isFirst : !r12;
|
|
if (r504) {
|
|
const anchoredEndSpace2 = current3.props.anchoredEndSpace;
|
|
r504 = anchoredEndSpace2?.anchorIndex !== (anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex);
|
|
}
|
|
let env21604;
|
|
let env21605;
|
|
let env21606;
|
|
c21601_33 = r504;
|
|
const r515 = env21604 = {};
|
|
env21604[0] = getFixedItemSize;
|
|
const props2 = {
|
|
adaptiveRender: experimental_adaptiveRender,
|
|
alignItemsAtEnd: alignItemsAtEnd2,
|
|
alignItemsAtEndPaddingEnabled,
|
|
alwaysRender,
|
|
alwaysRenderIndicesArr: memo5.arr,
|
|
alwaysRenderIndicesSet: memo5.set,
|
|
anchoredEndSpace,
|
|
animatedProps: animatedPropsInternal,
|
|
contentContainerAlignItems: contentContainerStyle2.alignItems,
|
|
contentInset,
|
|
contentInsetEndAdjustment: void 0,
|
|
data: data3,
|
|
dataKey,
|
|
dataVersion,
|
|
drawDistance: drawDistance2,
|
|
estimatedItemSize: estimatedItemSize2,
|
|
getFixedItemSize: r490.useMemo($mk95195(r515), [getFixedItemSize]),
|
|
getItemType: null,
|
|
horizontal: null,
|
|
itemsAreEqual: null,
|
|
keyExtractor: null,
|
|
maintainScrollAtEnd: null,
|
|
maintainScrollAtEndThreshold: null,
|
|
maintainVisibleContentPosition: null,
|
|
numColumns: null,
|
|
onEndReached: null,
|
|
onEndReachedThreshold: null,
|
|
onFirstVisibleItemChanged: null,
|
|
onItemSizeChanged: null,
|
|
onLoad: null,
|
|
onMomentumScrollEnd: null,
|
|
onScroll: null,
|
|
onScrollBeginDrag: null,
|
|
onStartReached: null,
|
|
onStartReachedThreshold: null,
|
|
onStickyHeaderChange: null,
|
|
overrideItemLayout: null,
|
|
positionComponentInternal: null,
|
|
recycleItems: null,
|
|
renderItem: null,
|
|
rtl: null,
|
|
snapToIndices: null,
|
|
stickyHeaderIndicesArr: null,
|
|
stickyHeaderIndicesSet: null,
|
|
stickyPositionComponentInternal: null,
|
|
stylePaddingBottom: null,
|
|
stylePaddingLeft: null,
|
|
stylePaddingRight: null,
|
|
stylePaddingTop: null,
|
|
useWindowScroll: false
|
|
};
|
|
const r520 = env21605 = {};
|
|
env21605[0] = getItemType;
|
|
props2.getItemType = r490.useMemo($mk95195(r520), [getItemType]);
|
|
props2.horizontal = !!horizontal4;
|
|
props2.itemsAreEqual = itemsAreEqual;
|
|
const r527 = env21606 = {};
|
|
env21606[0] = r94;
|
|
props2.keyExtractor = r490.useMemo($mk95195(r527), [r94]);
|
|
props2.maintainScrollAtEnd = maintainScrollAtEnd3;
|
|
props2.maintainScrollAtEndThreshold = maintainScrollAtEndThreshold2;
|
|
props2.maintainVisibleContentPosition = maintainVisibleContentPosition2;
|
|
props2.numColumns = numColumns;
|
|
props2.onEndReached = onEndReached;
|
|
props2.onEndReachedThreshold = onEndReachedThreshold2;
|
|
props2.onFirstVisibleItemChanged = onFirstVisibleItemChanged;
|
|
props2.onItemSizeChanged = onItemSizeChanged;
|
|
props2.onLoad = onLoad;
|
|
props2.onMomentumScrollEnd = onMomentumScrollEnd2;
|
|
props2.onScroll = onScroll6;
|
|
props2.onScrollBeginDrag = onScrollBeginDrag2;
|
|
props2.onStartReached = onStartReached;
|
|
props2.onStartReachedThreshold = onStartReachedThreshold2;
|
|
props2.onStickyHeaderChange = onStickyHeaderChange;
|
|
props2.overrideItemLayout = overrideItemLayout;
|
|
props2.positionComponentInternal = positionComponentInternal;
|
|
props2.recycleItems = !!recycleItems2;
|
|
props2.renderItem = renderItem2;
|
|
props2.rtl = rtl;
|
|
props2.snapToIndices = snapToIndices;
|
|
props2.stickyHeaderIndicesArr = stickyHeaderIndices == null ? [] : stickyHeaderIndices;
|
|
props2.stickyHeaderIndicesSet = r31.useMemo(() => {
|
|
const r3 = Set;
|
|
let r7 = stickyHeaderIndices;
|
|
if (stickyHeaderIndices == null) {
|
|
r7 = [];
|
|
}
|
|
return new r3(r7);
|
|
}, [stickyHeaderIndices == null ? void 0 : stickyHeaderIndices.join(",")]);
|
|
props2.stickyPositionComponentInternal = stickyPositionComponentInternal;
|
|
props2.stylePaddingBottom = stylePaddingBottom;
|
|
props2.stylePaddingLeft = stylePaddingLeft;
|
|
props2.stylePaddingRight = stylePaddingRight;
|
|
props2.stylePaddingTop = stylePaddingTop;
|
|
current3.props = props2;
|
|
current3.refScroller = ref12;
|
|
if (!((isFirst ? isFirst : !adaptiveRender) || experimental_adaptiveRender)) {
|
|
(0, env10649[45])(context9);
|
|
}
|
|
if (r465) {
|
|
const r546 = !initialScroll;
|
|
const state15 = context9.state;
|
|
state15.didContainersLayout = false;
|
|
state15.queuedInitialLayout = false;
|
|
if (!r546) {
|
|
state15.didFinishInitialScroll = false;
|
|
}
|
|
(0, env10649[22])(context9, "readyToRender", false);
|
|
(0, env10649[45])(context9);
|
|
}
|
|
memo3 = r31.useMemo(() => c21601_2.length ? Array.from({
|
|
length: Math.min(numColumns, c21601_2.length)
|
|
}, (a0, a1) => {
|
|
const r12 = c21601_2.length - 1 - a1;
|
|
const props = current3.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r14 = "";
|
|
if (data3) {
|
|
const r15 = r12 < data3.length ? keyExtractor2 ? keyExtractor2(data3[r12], r12) : r12 : null;
|
|
current3.idCache[r12] = r15;
|
|
r14 = r15;
|
|
}
|
|
return r14;
|
|
}) : [], [data3, dataKey, dataVersion, numColumns]);
|
|
initializeStateVars2 = (a0) => {
|
|
let c27921_1;
|
|
const r10 = env10649[22];
|
|
r10(context9, "lastItemKeys", memo3);
|
|
r10(context9, "numColumns", numColumns);
|
|
context9.values.get("stylePaddingTop");
|
|
const context17 = context9;
|
|
c27921_1 = void 0;
|
|
const state14 = context9.state;
|
|
if (c21601_13 !== void 0) {
|
|
const r15 = context9.values.get("stylePaddingTop") || 0;
|
|
c27921_1 = r15;
|
|
if (c21601_13 < r15) {
|
|
r10(context9, "totalSize", (context9.values.get("totalSize") || 0) + r15);
|
|
state14.timeoutSetPaddingTop = setTimeout(() => {
|
|
(0, env10649[22])(context17, "totalSize", (context17.values.get("totalSize") || 0) - c27921_1);
|
|
}, 16);
|
|
}
|
|
r10(context9, "stylePaddingTop", c21601_13);
|
|
}
|
|
ref5.current.props.stylePaddingBottom = stylePaddingBottom;
|
|
(0, env10649[50])(context9);
|
|
if (a0) {
|
|
c21601_15.size;
|
|
}
|
|
};
|
|
if (isFirst) {
|
|
initializeStateVars2(false);
|
|
current3.indexByKey.clear();
|
|
current3.idCache.length = 0;
|
|
current3.positions.length = 0;
|
|
current3.columns.length = 0;
|
|
current3.columnSpans.length = 0;
|
|
(0, env10649[89])(context9, true);
|
|
}
|
|
memo4 = r31.useMemo(() => {
|
|
const initialScroll2 = current3.initialScroll;
|
|
if (initialScroll2) {
|
|
let contentOffset = initialScroll2.contentOffset;
|
|
if (contentOffset == null) {
|
|
contentOffset = (0, env10649[75])(context9, initialScroll2);
|
|
}
|
|
if (c21601_18) {
|
|
const initialScrollSession = current3.initialScrollSession;
|
|
if (initialScrollSession != null) {
|
|
initialScrollSession.kind;
|
|
}
|
|
}
|
|
return contentOffset;
|
|
}
|
|
}, [r221]);
|
|
r31.useLayoutEffect(() => {
|
|
let r73;
|
|
let r13 = c21601_16;
|
|
const length = c21601_2.length;
|
|
const r3 = !ListFooterComponent2;
|
|
const state14 = context9.state;
|
|
const initialScroll2 = state14.initialScroll;
|
|
const contentOffset2 = memo4 != null ? memo4 : 0;
|
|
const preserveForFooterLayout = c21601_18 && initialScrollAtEnd && !r3;
|
|
let r16 = initialScroll2;
|
|
if (r16) {
|
|
let r27 = initialScroll2.contentOffset === void 0;
|
|
if (!r27) {
|
|
let r31 = !!initialScroll2.preserveForFooterLayout !== preserveForFooterLayout;
|
|
if (r31) {
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
r31 = initialScrollSession?.kind !== "offset";
|
|
}
|
|
r27 = r31;
|
|
}
|
|
r16 = r27;
|
|
}
|
|
const r35 = env10649;
|
|
if (r16) {
|
|
const initialScroll4 = {
|
|
...initialScroll2,
|
|
contentOffset: contentOffset2,
|
|
preserveForFooterLayout
|
|
};
|
|
const state15 = context9.state;
|
|
state15.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state15.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state15.timeoutPreservedInitialScrollClear);
|
|
state15.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state15.initialScroll = initialScroll4;
|
|
const r44 = env10649[38];
|
|
const initialScrollSession2 = state15.initialScrollSession;
|
|
r44(state15, {
|
|
kind: initialScrollSession2?.kind === "offset" ? "offset" : "bootstrap"
|
|
});
|
|
}
|
|
L102: {
|
|
if (c21601_18 && initialScroll2) {
|
|
const initialScrollSession3 = state14.initialScrollSession;
|
|
if (initialScrollSession3?.kind !== "offset") {
|
|
const initialScroll3 = state14.initialScroll;
|
|
const state16 = context9.state;
|
|
const resolvedOffset = (0, env10649[75])(context9, initialScroll3);
|
|
let r68 = resolvedOffset === 0 && !initialScrollAtEnd;
|
|
if (r68) {
|
|
const initialScrollSession4 = state16.initialScrollSession;
|
|
if (initialScrollSession4?.kind === "offset") {
|
|
const r84 = Math;
|
|
const contentOffset = initialScroll3.contentOffset;
|
|
r73 = r84.abs(contentOffset ?? 0) <= 1;
|
|
} else {
|
|
r73 = initialScroll3.index === 0;
|
|
if (r73) {
|
|
const viewPosition2 = initialScroll3.viewPosition;
|
|
r73 = (viewPosition2 ?? 0) === 0;
|
|
}
|
|
if (r73) {
|
|
const r77 = Math;
|
|
const viewOffset = initialScroll3.viewOffset;
|
|
r73 = r77.abs(viewOffset ?? 0) <= 1;
|
|
}
|
|
}
|
|
r68 = r73;
|
|
}
|
|
const r94 = state16.props.data.length === 0 && initialScroll3.index !== void 0;
|
|
if (r68) {
|
|
const initialScrollSession8 = state16.initialScrollSession;
|
|
const r140 = initialScrollSession8?.kind === "bootstrap" ? state16.initialScrollSession.bootstrap : void 0;
|
|
const frameHandle2 = r140?.frameHandle;
|
|
if (frameHandle2 !== void 0 && typeof globalThis.cancelAnimationFrame === "function") {
|
|
cancelAnimationFrame(frameHandle2);
|
|
}
|
|
if (r140) {
|
|
r140.frameHandle = void 0;
|
|
}
|
|
const r150 = env10649[38];
|
|
const initialScrollSession9 = state16.initialScrollSession;
|
|
r150(state16, {
|
|
bootstrap: null,
|
|
kind: initialScrollSession9?.kind
|
|
});
|
|
(0, env10649[48])(context9, {
|
|
resolvedOffset
|
|
});
|
|
break L102;
|
|
}
|
|
if (r94) {
|
|
const initialScrollSession6 = state16.initialScrollSession;
|
|
const r117 = initialScrollSession6?.kind === "bootstrap" ? state16.initialScrollSession.bootstrap : void 0;
|
|
const frameHandle = r117?.frameHandle;
|
|
if (frameHandle !== void 0 && typeof globalThis.cancelAnimationFrame === "function") {
|
|
cancelAnimationFrame(frameHandle);
|
|
}
|
|
if (r117) {
|
|
r117.frameHandle = void 0;
|
|
}
|
|
const r127 = env10649[38];
|
|
const initialScrollSession7 = state16.initialScrollSession;
|
|
r127(state16, {
|
|
bootstrap: null,
|
|
kind: initialScrollSession7?.kind
|
|
});
|
|
(0, env10649[48])(context9, {
|
|
preserveTarget: true,
|
|
resolvedOffset
|
|
});
|
|
break L102;
|
|
}
|
|
let env27922;
|
|
(0, env10649[79])(state16, {
|
|
scroll: resolvedOffset,
|
|
seedContentOffset: resolvedOffset,
|
|
targetIndexSeed: initialScroll3.index
|
|
});
|
|
const r100 = env27922 = {
|
|
$parent: r35
|
|
};
|
|
env27922[0] = context9;
|
|
env27922[1] = void 0;
|
|
const state17 = context9.state;
|
|
env27922[1] = state17;
|
|
const initialScrollSession5 = state17.initialScrollSession;
|
|
const r106 = initialScrollSession5?.kind === "bootstrap" ? state17.initialScrollSession.bootstrap : void 0;
|
|
if (!r106) {
|
|
break L102;
|
|
}
|
|
if (r106.frameHandle !== void 0) {
|
|
break L102;
|
|
}
|
|
r106.frameHandle = requestAnimationFrame($mk95175(r100));
|
|
break L102;
|
|
}
|
|
}
|
|
if (!r13) {
|
|
r13 = contentOffset2;
|
|
}
|
|
if (!r13) {
|
|
r13 = !((initialScroll2 ? length !== 0 : !initialScroll2) || contentOffset2 === 0 && !initialScrollAtEnd);
|
|
}
|
|
if (!r13) {
|
|
if (initialScroll2 && !initialScrollAtEnd) {
|
|
(0, env10649[48])(context9, {
|
|
resolvedOffset: contentOffset2
|
|
});
|
|
break L102;
|
|
}
|
|
(0, env10649[47])(context9, {
|
|
didInitialScroll: true
|
|
});
|
|
}
|
|
}
|
|
}, []);
|
|
if ((isFirst ? isFirst : r12) || current3.didColumnsChange) {
|
|
ref5.current.lastBatchingAction = Date.now();
|
|
if (!keyExtractor2) {
|
|
keyExtractor2 = isFirst;
|
|
}
|
|
if (!keyExtractor2) {
|
|
keyExtractor2 = !r12;
|
|
}
|
|
if (!keyExtractor2) {
|
|
ref5.current.sizes.clear();
|
|
ref5.current.positions.length = 0;
|
|
ref5.current.totalSize = 0;
|
|
(0, env10649[22])(context9, "totalSize", 0);
|
|
}
|
|
}
|
|
let r595 = c10649_31;
|
|
if (r595) {
|
|
c10649_132(a0);
|
|
}
|
|
r31.useLayoutEffect(() => {
|
|
let initialScroll3;
|
|
const length = c21601_2.length;
|
|
let r27 = c21601_31;
|
|
let kind2 = "bootstrap";
|
|
const kind = c21601_17 ? "offset" : "bootstrap";
|
|
const state14 = context9.state;
|
|
const initialScrollSession = state14.initialScrollSession;
|
|
const previousDataLength = initialScrollSession?.previousDataLength;
|
|
const previousDataLength2 = previousDataLength ?? 0;
|
|
let r32 = length > 0;
|
|
if (r32) {
|
|
const hasHadNonEmptyData = state14.hasHadNonEmptyData;
|
|
r32 = hasHadNonEmptyData ? c21601_32 : !hasHadNonEmptyData;
|
|
}
|
|
if (length > 0) {
|
|
state14.hasHadNonEmptyData = true;
|
|
}
|
|
if (r32) {
|
|
if (initialScroll) {
|
|
const state15 = context9.state;
|
|
state15.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state15.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state15.timeoutPreservedInitialScrollClear);
|
|
state15.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state15.initialScroll = initialScroll;
|
|
const r48 = env10649[38];
|
|
const initialScrollSession2 = state15.initialScrollSession;
|
|
r48(state15, {
|
|
kind: initialScrollSession2?.kind === "offset" ? "offset" : "bootstrap"
|
|
});
|
|
(0, env10649[38])(state14, {
|
|
kind,
|
|
previousDataLength: previousDataLength2
|
|
});
|
|
} else {
|
|
if (state14.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state14.timeoutPreservedInitialScrollClear);
|
|
state14.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state14.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
state14.initialScroll = void 0;
|
|
(0, env10649[38])(state14);
|
|
}
|
|
}
|
|
if (state14.initialScrollSession) {
|
|
state14.initialScrollSession.previousDataLength = length;
|
|
}
|
|
L192: {
|
|
(0, env10649[38])(state14);
|
|
if (c21601_18) {
|
|
const state17 = context9.state;
|
|
const { initialScroll: initialScroll2, initialScrollSession: initialScrollSession4 } = state17;
|
|
if (initialScrollSession4?.kind !== "offset" && initialScroll2) {
|
|
const r97 = !(state17.didFinishInitialScroll && previousDataLength2 === 0 && length > 0 && initialScroll2.index !== void 0);
|
|
const initialScrollSession5 = state17.initialScrollSession;
|
|
const r101 = initialScrollSession5?.kind === "bootstrap" ? state17.initialScrollSession.bootstrap : void 0;
|
|
const r103 = !r97;
|
|
if (!initialScrollAtEnd && r27 && length > 0 && state17.didFinishInitialScroll && !r101 && !r103) {
|
|
if (state17.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state17.timeoutPreservedInitialScrollClear);
|
|
state17.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state17.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
state17.initialScroll = void 0;
|
|
(0, env10649[38])(state17);
|
|
break L192;
|
|
}
|
|
let r112 = length > 0;
|
|
if (r112) {
|
|
let r113 = initialScrollAtEnd;
|
|
if (!initialScrollAtEnd) {
|
|
let r114 = initialScroll2 ? initialScroll2.viewPosition !== 1 : !initialScroll2;
|
|
if (!r114) {
|
|
const r7 = !!initialScroll2?.preserveForBottomPadding;
|
|
r114 = r7 ? !r7 : !!!initialScroll2?.preserveForFooterLayout;
|
|
}
|
|
r113 = !r114;
|
|
}
|
|
r112 = r113;
|
|
}
|
|
if (!r27 && !r103 && !r112) {
|
|
break L192;
|
|
}
|
|
L127: {
|
|
if (r112) {
|
|
const r126 = context9.values.get("footerSize");
|
|
if (initialScrollAtEnd) {
|
|
const r145 = r126 || 0;
|
|
const preserveForFooterLayout = initialScroll2?.preserveForFooterLayout;
|
|
initialScroll3 = {
|
|
contentOffset: void 0,
|
|
index: Math.max(0, length - 1),
|
|
preserveForBottomPadding: true,
|
|
preserveForFooterLayout: !!preserveForFooterLayout,
|
|
viewOffset: -stylePaddingBottom - r145,
|
|
viewPosition: 1
|
|
};
|
|
} else {
|
|
const r127 = r126 ? r126 : 0;
|
|
const r130 = !initialScroll2?.preserveForFooterLayout;
|
|
const index3 = initialScrollAtEnd ? Math.max(0, length - 1) : initialScroll2.index;
|
|
const preserveForFooterLayout2 = !r130;
|
|
initialScroll3 = {
|
|
...initialScroll2,
|
|
contentOffset: void 0,
|
|
index: index3,
|
|
preserveForBottomPadding: true,
|
|
preserveForFooterLayout: preserveForFooterLayout2,
|
|
viewOffset: -stylePaddingBottom - (preserveForFooterLayout2 ? r127 : 0),
|
|
viewPosition: 1
|
|
};
|
|
}
|
|
if (!r103 && (0, env10649[82])(context9, initialScroll2)) {
|
|
(0, env10649[81])(context9, {
|
|
dataLength: length,
|
|
stylePaddingBottom,
|
|
target: initialScroll2
|
|
});
|
|
break L192;
|
|
}
|
|
if (initialScroll2.index === initialScroll3.index && initialScroll2.preserveForBottomPadding === initialScroll3.preserveForBottomPadding && initialScroll2.preserveForFooterLayout === initialScroll3.preserveForFooterLayout && initialScroll2.viewOffset === initialScroll3.viewOffset && initialScroll2.viewPosition === initialScroll3.viewPosition && !r101 && !r103 && !r27) {
|
|
break L127;
|
|
}
|
|
const state20 = context9.state;
|
|
state20.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state20.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state20.timeoutPreservedInitialScrollClear);
|
|
state20.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state20.initialScroll = initialScroll3;
|
|
if (r103) {
|
|
const r229 = {
|
|
resetInitialScroll: true
|
|
};
|
|
const { resetLayout: resetLayout3, resetInitialScroll: resetInitialScroll3 } = r229;
|
|
const state21 = context9.state;
|
|
if (resetLayout3) {
|
|
state21.didContainersLayout = false;
|
|
state21.queuedInitialLayout = false;
|
|
}
|
|
if (resetInitialScroll3) {
|
|
state21.didFinishInitialScroll = false;
|
|
}
|
|
(0, env10649[22])(context9, "readyToRender", false);
|
|
(0, env10649[45])(context9);
|
|
}
|
|
const r241 = env10649[38];
|
|
const initialScrollSession7 = state20.initialScrollSession;
|
|
if (initialScrollSession7?.kind === "offset") {
|
|
kind2 = "offset";
|
|
}
|
|
r241(state20, {
|
|
kind: kind2
|
|
});
|
|
const r247 = env10649[80];
|
|
const r250 = {
|
|
scroll: (0, env10649[75])(context9, initialScroll3),
|
|
seedContentOffset: null,
|
|
targetIndexSeed: null
|
|
};
|
|
let seedContentOffset2 = void 0;
|
|
if (r103) {
|
|
seedContentOffset2 = void 0;
|
|
if (!r101) {
|
|
const current6 = state17.refScroller.current;
|
|
const getCurrentScrollOffset2 = current6?.getCurrentScrollOffset;
|
|
let r257 = getCurrentScrollOffset2 == null ? void 0 : getCurrentScrollOffset2.call(current6);
|
|
if (!(typeof r257 === "number" && Number.isFinite(r257))) {
|
|
let scrollPending2 = state17.scrollPending;
|
|
if (scrollPending2 == null) {
|
|
scrollPending2 = state17.scroll;
|
|
}
|
|
r257 = scrollPending2 ?? 0;
|
|
}
|
|
seedContentOffset2 = r257;
|
|
}
|
|
}
|
|
r250.seedContentOffset = seedContentOffset2;
|
|
r250.targetIndexSeed = initialScroll3.index;
|
|
r247(context9, r250);
|
|
break L192;
|
|
}
|
|
}
|
|
if (r27) {
|
|
r27 = r101 || r103;
|
|
}
|
|
if (r27) {
|
|
const state18 = context9.state;
|
|
state18.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state18.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state18.timeoutPreservedInitialScrollClear);
|
|
state18.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state18.initialScroll = initialScroll2;
|
|
if (r103) {
|
|
const r182 = {
|
|
resetInitialScroll: true
|
|
};
|
|
const { resetLayout: resetLayout2, resetInitialScroll: resetInitialScroll2 } = r182;
|
|
const state19 = context9.state;
|
|
if (resetLayout2) {
|
|
state19.didContainersLayout = false;
|
|
state19.queuedInitialLayout = false;
|
|
}
|
|
if (resetInitialScroll2) {
|
|
state19.didFinishInitialScroll = false;
|
|
}
|
|
(0, env10649[22])(context9, "readyToRender", false);
|
|
(0, env10649[45])(context9);
|
|
}
|
|
const r194 = env10649[38];
|
|
const initialScrollSession6 = state18.initialScrollSession;
|
|
r194(state18, {
|
|
kind: initialScrollSession6?.kind === "offset" ? "offset" : "bootstrap"
|
|
});
|
|
const r201 = env10649[80];
|
|
const r204 = {
|
|
scroll: (0, env10649[75])(context9, initialScroll2),
|
|
seedContentOffset: null,
|
|
targetIndexSeed: null
|
|
};
|
|
let seedContentOffset = void 0;
|
|
if (r103) {
|
|
seedContentOffset = void 0;
|
|
if (!r101) {
|
|
const current5 = state17.refScroller.current;
|
|
const getCurrentScrollOffset = current5?.getCurrentScrollOffset;
|
|
let r211 = getCurrentScrollOffset == null ? void 0 : getCurrentScrollOffset.call(current5);
|
|
if (!(typeof r211 === "number" && Number.isFinite(r211))) {
|
|
let scrollPending = state17.scrollPending;
|
|
if (scrollPending == null) {
|
|
scrollPending = state17.scroll;
|
|
}
|
|
r211 = scrollPending ?? 0;
|
|
}
|
|
seedContentOffset = r211;
|
|
}
|
|
}
|
|
r204.seedContentOffset = seedContentOffset;
|
|
r204.targetIndexSeed = initialScroll2.index;
|
|
r201(context9, r204);
|
|
}
|
|
}
|
|
} else {
|
|
let r63 = previousDataLength2 === 0;
|
|
let r64 = (r63 ? length > 0 : r63) && !!state14.initialScroll;
|
|
if (r64) {
|
|
const initialScrollSession3 = context9.state.initialScrollSession;
|
|
r64 = initialScrollSession3?.kind === "offset";
|
|
}
|
|
if (r64) {
|
|
r64 = !!state14.didFinishInitialScroll;
|
|
}
|
|
if (r63) {
|
|
r63 = length !== 0;
|
|
}
|
|
if (r63) {
|
|
r63 = state14.initialScroll;
|
|
}
|
|
if (r63) {
|
|
r63 = state14.queuedInitialLayout;
|
|
}
|
|
if (r63) {
|
|
const didFinishInitialScroll = state14.didFinishInitialScroll;
|
|
r63 = didFinishInitialScroll ? r64 : !didFinishInitialScroll;
|
|
}
|
|
if (r63) {
|
|
if (r64) {
|
|
const r75 = {
|
|
resetInitialScroll: true
|
|
};
|
|
const { resetLayout, resetInitialScroll } = r75;
|
|
const state16 = context9.state;
|
|
if (resetLayout) {
|
|
state16.didContainersLayout = false;
|
|
state16.queuedInitialLayout = false;
|
|
}
|
|
if (resetInitialScroll) {
|
|
state16.didFinishInitialScroll = false;
|
|
}
|
|
(0, env10649[22])(context9, "readyToRender", false);
|
|
(0, env10649[45])(context9);
|
|
}
|
|
(0, env10649[76])(context9);
|
|
}
|
|
}
|
|
}
|
|
}, [data3.length, dataKey, r12, r465, initialScrollAtEnd, stylePaddingBottom, r221]);
|
|
const r604 = [context9, data3, dataVersion, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorIndex, anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorMaxSize, , , ,];
|
|
const r610 = anchoredEndSpace == null ? void 0 : anchoredEndSpace.anchorOffset;
|
|
let env21607;
|
|
const r611 = () => {
|
|
if (c21601_33) {
|
|
current3.scrollForNextCalculateItemsInView = void 0;
|
|
const triggerCalculateItemsInView = current3.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(current3);
|
|
}
|
|
}
|
|
(0, env10649[103])(context9);
|
|
};
|
|
r604[5] = r610;
|
|
r604[6] = r504;
|
|
r604[7] = numColumns;
|
|
r31.useLayoutEffect(r611, r604);
|
|
r31.useLayoutEffect(() => {
|
|
const current5 = ref4.current;
|
|
ref4.current = void 0;
|
|
const state14 = context9.state;
|
|
const r18 = env10649[24];
|
|
const r19 = r18(context9, current5);
|
|
const r21 = r18(context9) - r19;
|
|
if (r21 !== 0) {
|
|
const r3 = !context9.values.get("isWithinMaintainScrollAtEndThreshold");
|
|
(0, env10649[70])(context9, state14.scroll, true, {
|
|
markHasScrolled: false
|
|
});
|
|
const r2 = (0, env10649[85])(context9);
|
|
if (r2 ? !r2 : !r3) {
|
|
(0, env10649[65])(context9, r21);
|
|
}
|
|
}
|
|
}, [context9, void 0]);
|
|
const callback6 = r31.useCallback((a0) => {
|
|
L38: {
|
|
if (c21601_18) {
|
|
const length = c21601_2.length;
|
|
const r16 = a0[horizontal4 ? "width" : "height"];
|
|
const state14 = context9.state;
|
|
if (initialScrollAtEnd) {
|
|
const { initialScroll: initialScroll2, initialScrollSession } = state14;
|
|
if (initialScrollSession?.kind !== "offset" && length !== 0 && initialScroll2) {
|
|
const initialScrollSession2 = state14.initialScrollSession;
|
|
const kind = initialScrollSession2?.kind;
|
|
let kind2 = "bootstrap";
|
|
if (!(kind === "bootstrap" ? state14.initialScrollSession.bootstrap : void 0) && !initialScroll2?.preserveForFooterLayout) {
|
|
break L38;
|
|
}
|
|
if ((0, env10649[82])(context9, initialScroll2)) {
|
|
(0, env10649[81])(context9, {
|
|
dataLength: length,
|
|
stylePaddingBottom,
|
|
target: initialScroll2
|
|
});
|
|
} else {
|
|
const preserveForFooterLayout = initialScroll2?.preserveForFooterLayout;
|
|
const initialScroll3 = {
|
|
contentOffset: void 0,
|
|
index: Math.max(0, length - 1),
|
|
preserveForBottomPadding: true,
|
|
preserveForFooterLayout: !!preserveForFooterLayout,
|
|
viewOffset: -stylePaddingBottom - r16,
|
|
viewPosition: 1
|
|
};
|
|
if (initialScroll2.index === initialScroll3.index && initialScroll2.viewPosition === initialScroll3.viewPosition && initialScroll2.viewOffset === initialScroll3.viewOffset) {
|
|
(0, env10649[81])(context9, {
|
|
dataLength: length,
|
|
stylePaddingBottom,
|
|
target: initialScroll2
|
|
});
|
|
break L38;
|
|
}
|
|
const r56 = !state14.didFinishInitialScroll;
|
|
const state15 = context9.state;
|
|
state15.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
if (state15.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state15.timeoutPreservedInitialScrollClear);
|
|
state15.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
const r62 = !r56;
|
|
state15.initialScroll = initialScroll3;
|
|
if (r62) {
|
|
const r63 = {
|
|
resetInitialScroll: true
|
|
};
|
|
const { resetLayout, resetInitialScroll } = r63;
|
|
const state16 = context9.state;
|
|
if (resetLayout) {
|
|
state16.didContainersLayout = false;
|
|
state16.queuedInitialLayout = false;
|
|
}
|
|
if (resetInitialScroll) {
|
|
state16.didFinishInitialScroll = false;
|
|
}
|
|
(0, env10649[22])(context9, "readyToRender", false);
|
|
(0, env10649[45])(context9);
|
|
}
|
|
const r75 = env10649[38];
|
|
const initialScrollSession3 = state15.initialScrollSession;
|
|
if (initialScrollSession3?.kind === "offset") {
|
|
kind2 = "offset";
|
|
}
|
|
r75(state15, {
|
|
kind: kind2
|
|
});
|
|
(0, env10649[80])(context9, {
|
|
scroll: (0, env10649[75])(context9, initialScroll3),
|
|
targetIndexSeed: initialScroll3.index
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}, [data3.length, initialScrollAtEnd, horizontal4, stylePaddingBottom, r221]);
|
|
const r627 = {
|
|
onLayoutChange: r31.useCallback((a0, a1) => {
|
|
let r161;
|
|
const { scrollLength, otherAxisSize } = current3;
|
|
const state14 = context9.state;
|
|
const props = state14.props;
|
|
const { maintainScrollAtEnd: maintainScrollAtEnd2, useWindowScroll: useWindowScroll2 } = props;
|
|
const horizontal6 = state14.props.horizontal;
|
|
let r17 = "height";
|
|
const r13 = horizontal6 ? "width" : "height";
|
|
const r31 = state14.props.horizontal ? "height" : "width";
|
|
let lastLayout2 = a0;
|
|
if (useWindowScroll2) {
|
|
const r36 = env10649[11].Dimensions.get("window");
|
|
const r40 = ({
|
|
height: r36.height,
|
|
width: r36.width
|
|
})[r13];
|
|
let r41 = a0;
|
|
if (r40 > 0) {
|
|
const r42 = {
|
|
...a0
|
|
};
|
|
r42[r13] = r40;
|
|
r41 = r42;
|
|
}
|
|
lastLayout2 = r41;
|
|
}
|
|
const r44 = lastLayout2[r13];
|
|
let scrollLength2 = state14.scrollLength;
|
|
if (r44 > 0) {
|
|
scrollLength2 = r44;
|
|
}
|
|
const otherAxisSize3 = lastLayout2[r31];
|
|
const lastLayout = state14.lastLayout;
|
|
const r4 = (lastLayout ? scrollLength2 > state14.scrollLength : !lastLayout) || state14.lastLayout.x !== lastLayout2.x || state14.lastLayout.y !== lastLayout2.y;
|
|
state14.lastLayout = lastLayout2;
|
|
const otherAxisSize2 = state14.otherAxisSize;
|
|
let r2 = scrollLength2 !== state14.scrollLength || otherAxisSize3 !== otherAxisSize2;
|
|
if (r2) {
|
|
state14.scrollLength = scrollLength2;
|
|
state14.otherAxisSize = otherAxisSize3;
|
|
const r58 = env10649;
|
|
(0, env10649[50])(context9);
|
|
state14.lastBatchingAction = Date.now();
|
|
state14.scrollForNextCalculateItemsInView = void 0;
|
|
if (scrollLength2 > 0) {
|
|
(0, env10649[133])(context9);
|
|
}
|
|
if (r4) {
|
|
let env27923;
|
|
const r64 = env27923 = {
|
|
$parent: r58
|
|
};
|
|
env27923[0] = context9;
|
|
env27923[1] = {
|
|
doMVCP: true
|
|
};
|
|
env27923[2] = context9.state;
|
|
unstable_batchedUpdates($mk95179(r64));
|
|
}
|
|
if (!r2) {
|
|
r2 = otherAxisSize3 !== otherAxisSize2;
|
|
}
|
|
if (r2) {
|
|
(0, env10649[22])(context9, "scrollSize", {
|
|
height: lastLayout2.height,
|
|
width: lastLayout2.width
|
|
});
|
|
}
|
|
if (maintainScrollAtEnd2?.onLayout) {
|
|
(0, env10649[64])(context9);
|
|
}
|
|
(0, env10649[43])(context9);
|
|
if (state14) {
|
|
const horizontal7 = state14.props.horizontal;
|
|
const props2 = state14.props;
|
|
state14.needsOtherAxisSize = otherAxisSize3 - (horizontal7 ? (props2.stylePaddingTop || 0) + (state14.props.stylePaddingBottom || 0) : (props2.stylePaddingLeft || 0) + (state14.props.stylePaddingRight || 0)) < 10;
|
|
}
|
|
let r95 = c10649_31;
|
|
if (r95 ? r44 === 0 : r95) {
|
|
if (state14.props.horizontal) {
|
|
r17 = "width";
|
|
}
|
|
const r103 = `List ${r17} is 0. You may need to set a style or \`flex: \` for the list, because children are absolutely positioned.`;
|
|
if (r95) {
|
|
r95 = !c10649_53.has("height0");
|
|
}
|
|
if (r95) {
|
|
c10649_53.add("height0");
|
|
console.warn(`[legend-list] ${r103}`);
|
|
}
|
|
}
|
|
}
|
|
setState2(true);
|
|
const r122 = env10649;
|
|
(0, env10649[103])(context9);
|
|
const r126 = scrollLength !== current3.scrollLength || otherAxisSize !== current3.otherAxisSize;
|
|
const r129 = c21601_18 && !a1 && r126;
|
|
L108: {
|
|
if (r129) {
|
|
const state15 = context9.state;
|
|
const { initialScroll: initialScroll2, initialScrollSession } = state15;
|
|
const r138 = initialScrollSession?.kind === "bootstrap" ? state15.initialScrollSession.bootstrap : void 0;
|
|
if (initialScroll2 && state15.props.data.length > 0) {
|
|
const initialScrollSession2 = state15.initialScrollSession;
|
|
if (initialScrollSession2?.kind !== "offset") {
|
|
if (!r138 && initialScroll2.viewPosition !== 1) {
|
|
break L108;
|
|
}
|
|
const offset = (0, env10649[75])(context9, initialScroll2);
|
|
const scrollingTo2 = state15.scrollingTo;
|
|
const r154 = scrollingTo2?.isInitialScroll ? state15.scrollingTo : void 0;
|
|
L107: {
|
|
if (!r138) {
|
|
if (!r154 && !state15.didFinishInitialScroll) {
|
|
break L107;
|
|
}
|
|
L97: {
|
|
if (r154) {
|
|
let targetOffset2 = r154.targetOffset;
|
|
if (targetOffset2 == null) {
|
|
targetOffset2 = r154.offset;
|
|
}
|
|
r161 = targetOffset2;
|
|
} else {
|
|
const current5 = state15.refScroller.current;
|
|
const getCurrentScrollOffset = current5?.getCurrentScrollOffset;
|
|
r161 = getCurrentScrollOffset == null ? void 0 : getCurrentScrollOffset.call(current5);
|
|
if (typeof r161 === "number" && Number.isFinite(r161)) {
|
|
break L97;
|
|
}
|
|
let scrollPending = state15.scrollPending;
|
|
if (scrollPending == null) {
|
|
scrollPending = state15.scroll;
|
|
}
|
|
r161 = scrollPending ?? 0;
|
|
}
|
|
}
|
|
const r172 = offset - r161;
|
|
if (!(Math.abs(r172) > 1)) {
|
|
break L108;
|
|
}
|
|
if (state15.didFinishInitialScroll) {
|
|
if ((0, env10649[83])(context9) === void 0) {
|
|
break L108;
|
|
}
|
|
let env27924;
|
|
const preservedEndAnchorCorrection = {};
|
|
const r197 = env27924 = {
|
|
$parent: r122
|
|
};
|
|
env27924[0] = context9;
|
|
env27924[1] = preservedEndAnchorCorrection;
|
|
const state16 = context9.state;
|
|
env27924[2] = state16;
|
|
state16.preservedEndAnchorCorrection = preservedEndAnchorCorrection;
|
|
requestAnimationFrame($mk95176(r197));
|
|
break L108;
|
|
}
|
|
if (!r154) {
|
|
break L108;
|
|
}
|
|
const r181 = c10649_37.get(state15);
|
|
r154.offset = offset;
|
|
r154.targetOffset = offset;
|
|
state15.initialScroll = {
|
|
...initialScroll2,
|
|
contentOffset: offset
|
|
};
|
|
state15.hasScrolled = false;
|
|
let startScroll = r181?.startScroll;
|
|
if (startScroll == null) {
|
|
startScroll = state15.scroll;
|
|
}
|
|
c10649_37.set(state15, {
|
|
startScroll,
|
|
targetOffset: offset
|
|
});
|
|
(0, env10649[65])(context9, r172);
|
|
break L108;
|
|
}
|
|
}
|
|
(0, env10649[80])(context9, {
|
|
scroll: offset,
|
|
targetIndexSeed: initialScroll2.index
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (!c21601_18) {
|
|
(0, env10649[76])(context9);
|
|
}
|
|
}, [data3.length, initialScrollAtEnd, stylePaddingBottom, r221]),
|
|
onLayoutProp: onLayout,
|
|
ref: ref12
|
|
};
|
|
const r628 = env21607 = {};
|
|
env21607[0] = void 0;
|
|
env21607[1] = void 0;
|
|
env21607[2] = void 0;
|
|
env21607[3] = void 0;
|
|
env21607[0] = r627.ref;
|
|
let measureInLayoutEffect = r627.measureInLayoutEffect;
|
|
if (measureInLayoutEffect === void 0) {
|
|
measureInLayoutEffect = true;
|
|
}
|
|
env21607[1] = measureInLayoutEffect;
|
|
const onLayoutProp = r627.onLayoutProp;
|
|
env21607[2] = onLayoutProp;
|
|
const onLayoutChange = r627.onLayoutChange;
|
|
env21607[3] = onLayoutChange;
|
|
const callback7 = r490.useCallback($mk95186(r628), [onLayoutChange, onLayoutProp]);
|
|
if (c10649_27) {
|
|
const r640 = [measureInLayoutEffect, ...[]];
|
|
r490.useLayoutEffect($mk95187(r628), r640);
|
|
}
|
|
let env21608;
|
|
let stickyHeaderIndices2, horizontal5, context10, onScroll3, c21609_4;
|
|
r31.useLayoutEffect(() => {
|
|
if (snapToIndices) {
|
|
const state14 = context9.state;
|
|
const snapToIndices2 = state14.props.snapToIndices;
|
|
const r11 = state14.props.horizontal ? (0, env10649[25])(context9) : void 0;
|
|
const r25 = Array(snapToIndices2.length);
|
|
const r6 = 0 < snapToIndices2.length;
|
|
let r0 = 0;
|
|
if (r6) {
|
|
do {
|
|
const r14 = snapToIndices2[r0];
|
|
const props = state14.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
const r1 = r0;
|
|
if (data3) {
|
|
state14.idCache[r14] = r14 < data3.length ? keyExtractor2 ? keyExtractor2(data3[r14], r14) : r14 : null;
|
|
}
|
|
r25[r1] = (0, env10649[15])(state14, state14.positions[r14], r11);
|
|
r0 = r1 + 1;
|
|
} while (r0 < snapToIndices2.length);
|
|
}
|
|
(0, env10649[22])(context9, "snapToOffsets", r25);
|
|
}
|
|
}, [snapToIndices]);
|
|
r31.useLayoutEffect(() => {
|
|
initializeStateVars2(true);
|
|
}, [dataKey, dataVersion, memo3.join(","), numColumns, scrollAxisGap, stylePaddingBottom, stylePaddingTop, alignItemsAtEndPaddingEnabled]);
|
|
r31.useLayoutEffect(() => {
|
|
const { didColumnsChange, didDataChange, isFirst } = current3;
|
|
const data3 = current3.props.data;
|
|
if (!(data3.length > 0 && (0, env10649[133])(context9) || isFirst || (didDataChange ? !didDataChange : !didColumnsChange))) {
|
|
let didColumnsChange2 = ({
|
|
didColumnsChange
|
|
}).didColumnsChange;
|
|
if (didColumnsChange2 === void 0) {
|
|
didColumnsChange2 = false;
|
|
}
|
|
const state14 = context9.state;
|
|
const previousData = state14.previousData;
|
|
const maintainScrollAtEnd2 = state14.props.maintainScrollAtEnd;
|
|
if (didColumnsChange2) {
|
|
state14.sizes.clear();
|
|
state14.sizesKnown.clear();
|
|
(0, env10649[30])(state14);
|
|
const averageSizes = state14.averageSizes;
|
|
for (const key in averageSizes) {
|
|
delete state14.averageSizes[key];
|
|
}
|
|
state14.minIndexSizeChanged = 0;
|
|
state14.scrollForNextCalculateItemsInView = void 0;
|
|
}
|
|
let env27925;
|
|
const r40 = env27925 = {
|
|
$parent: env10649
|
|
};
|
|
env27925[0] = context9;
|
|
env27925[1] = {
|
|
dataChanged: true,
|
|
doMVCP: true
|
|
};
|
|
env27925[2] = context9.state;
|
|
unstable_batchedUpdates($mk95179(r40));
|
|
const r46 = (didColumnsChange2 ? !didColumnsChange2 : maintainScrollAtEnd2?.onDataChange) && (0, env10649[64])(context9);
|
|
if ((r46 ? !r46 : previousData) && data3.length > previousData.length) {
|
|
state14.isEndReached = false;
|
|
}
|
|
if (!r46) {
|
|
(0, env10649[43])(context9);
|
|
}
|
|
delete state14["previousData"];
|
|
}
|
|
if (didDataChange) {
|
|
current3.pendingDataComparison = void 0;
|
|
}
|
|
current3.didColumnsChange = false;
|
|
current3.didDataChange = false;
|
|
current3.isFirst = false;
|
|
}, [data3, dataKey, dataVersion, numColumns, scrollAxisGap]);
|
|
r31.useLayoutEffect(() => {
|
|
(0, env10649[22])(context9, "extraData", extraData);
|
|
const current5 = ref6.current;
|
|
ref6.current = current2;
|
|
if ((current2 ? current2 : current5 !== current2) && numColumns > 1) {
|
|
const triggerCalculateItemsInView = current3.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(current3, {
|
|
forceFullItemPositions: true
|
|
});
|
|
}
|
|
}
|
|
}, [extraData, current2, numColumns]);
|
|
r31.useEffect(() => {
|
|
if (onMetricsChange) {
|
|
const footerSize = context9.values.get("footerSize") || 0;
|
|
const headerSize = context9.values.get("headerSize") || 0;
|
|
let c27926_0, c27926_1;
|
|
const r17 = {
|
|
footerSize,
|
|
headerSize
|
|
};
|
|
if (!(c27926_0 && r17.headerSize === c27926_0.headerSize && r17.footerSize === c27926_0.footerSize)) {
|
|
c27926_0 = r17;
|
|
onMetricsChange(r17);
|
|
}
|
|
let env27927;
|
|
const emitMetrics = () => {
|
|
const r9 = {
|
|
footerSize: context9.values.get("footerSize") || 0,
|
|
headerSize: context9.values.get("headerSize") || 0
|
|
};
|
|
if (!(c27926_0 && r9.headerSize === c27926_0.headerSize && r9.footerSize === c27926_0.footerSize)) {
|
|
c27926_0 = r9;
|
|
onMetricsChange(r9);
|
|
}
|
|
};
|
|
const r29 = env27927 = {};
|
|
env27927[0] = emitMetrics;
|
|
const listeners = context9.listeners;
|
|
const r31 = listeners.get("headerSize");
|
|
env27927[1] = r31;
|
|
let r32 = r31;
|
|
if (!r32) {
|
|
const set2 = new Set();
|
|
env27927[1] = set2;
|
|
listeners.set("headerSize", set2);
|
|
r32 = set2;
|
|
}
|
|
let env27928;
|
|
r32.add(emitMetrics);
|
|
const r43 = [$mk95159(r29), ,];
|
|
const r44 = env27928 = {};
|
|
env27928[0] = emitMetrics;
|
|
env27928[1] = void 0;
|
|
const listeners2 = context9.listeners;
|
|
const r48 = listeners2.get("footerSize");
|
|
env27928[1] = r48;
|
|
let r49 = r48;
|
|
if (!r49) {
|
|
const set3 = new Set();
|
|
env27928[1] = set3;
|
|
listeners2.set("footerSize", set3);
|
|
r49 = set3;
|
|
}
|
|
r49.add(emitMetrics);
|
|
r43[1] = $mk95159(r44);
|
|
c27926_1 = r43;
|
|
return () => {
|
|
for (const item5 of c27926_1) {
|
|
item5();
|
|
}
|
|
};
|
|
}
|
|
}, [context9, onMetricsChange]);
|
|
r31.useEffect(() => {
|
|
let viewabilityConfig2 = viewabilityConfig;
|
|
const r5 = viewabilityConfig ? viewabilityConfig : onViewableItemsChanged;
|
|
let viewabilityConfigCallbackPairs2 = viewabilityConfigCallbackPairs;
|
|
if (r5) {
|
|
const r11 = viewabilityConfigCallbackPairs ? viewabilityConfigCallbackPairs : [];
|
|
const r12 = [,];
|
|
const r0 = HermesBuiltin.arraySpread(r12, r11, 0);
|
|
if (!viewabilityConfig) {
|
|
viewabilityConfig2 = {
|
|
viewAreaCoveragePercentThreshold: 0
|
|
};
|
|
}
|
|
r12[r0] = {
|
|
onViewableItemsChanged,
|
|
viewabilityConfig: viewabilityConfig2
|
|
};
|
|
viewabilityConfigCallbackPairs2 = r12;
|
|
}
|
|
current3.viewabilityConfigCallbackPairs = viewabilityConfigCallbackPairs2;
|
|
current3.enableScrollForNextCalculateItemsInView = true;
|
|
if (viewabilityConfigCallbackPairs2) {
|
|
current3.scrollForNextCalculateItemsInView = void 0;
|
|
}
|
|
}, [viewabilityConfig, viewabilityConfigCallbackPairs, onViewableItemsChanged]);
|
|
const r674 = env21608 = {};
|
|
env21608[0] = () => {
|
|
if (!c10649_27) {
|
|
(0, env10649[133])(context9);
|
|
}
|
|
};
|
|
r490.useState($mk95184(r674));
|
|
r31.useImperativeHandle(a1, () => {
|
|
let env27929 = {
|
|
$parent: env10649
|
|
};
|
|
env27929[0] = context9;
|
|
env27929[1] = dispatch2;
|
|
const state14 = context9.state;
|
|
env27929[2] = state14;
|
|
env27929[3] = 0;
|
|
env27929[4] = () => {};
|
|
env27929[5] = function isScrollToIndexReady(a0, r4 = false) {
|
|
const props = env27929[2].props;
|
|
const length = props.data.length;
|
|
const anchoredEndSpace2 = props.anchoredEndSpace;
|
|
let r18 = anchoredEndSpace2?.anchorIndex;
|
|
if (!(a0 < 0)) {
|
|
let r21 = !(a0 >= length);
|
|
if (r21) {
|
|
let r2 = r18 === void 0 || r18 < 0 || r18 >= length || a0 < r18;
|
|
if (!r2) {
|
|
const r22 = env27929[0];
|
|
const r23 = length - 1;
|
|
const r9 = r18 <= r23;
|
|
let r3 = true;
|
|
if (r9) {
|
|
do {
|
|
const r14 = (0, env10649[57])(r22, r18);
|
|
const r26 = r18;
|
|
r3 = false;
|
|
if (r14 === void 0) {
|
|
break;
|
|
}
|
|
r18 = r26 + 1;
|
|
r3 = true;
|
|
} while (r18 <= r23);
|
|
}
|
|
r2 = r3;
|
|
}
|
|
r21 = r2;
|
|
}
|
|
r4 = r21;
|
|
}
|
|
return r4;
|
|
};
|
|
env27929[6] = function runScrollRequest(a0, a1, a2) {
|
|
let env27903 = {
|
|
$parent: env27929
|
|
};
|
|
env27903[0] = a0;
|
|
env27903[1] = a1;
|
|
env27903[2] = a2;
|
|
let r4 = arguments[3];
|
|
if (r4 === void 0) {
|
|
r4 = () => true;
|
|
}
|
|
const r14 = env27929[2];
|
|
const r15 = !!r14.didDataChange || !!r14.didColumnsChange || r14.queuedMVCPRecalculate !== void 0 || r14.ignoreScrollFromMVCP !== void 0;
|
|
L20: {
|
|
if (!r15 && r4()) {
|
|
if (a0 !== env27929[3]) {
|
|
break L20;
|
|
}
|
|
if (a2() && r14.scrollingTo) {
|
|
break L20;
|
|
}
|
|
if (r14.pendingScrollResolve === a1) {
|
|
r14.pendingScrollResolve = void 0;
|
|
}
|
|
a1();
|
|
} else {
|
|
let c27904_0 = a0;
|
|
let c27904_1 = r4;
|
|
let c27904_2 = Date.now();
|
|
let c27904_3 = 0;
|
|
const check2 = () => {
|
|
L23: {
|
|
if (c27904_0 === env27929[3]) {
|
|
const r10 = env27929[2];
|
|
if (!(!!r10.didDataChange || !!r10.didColumnsChange || r10.queuedMVCPRecalculate !== void 0 || r10.ignoreScrollFromMVCP !== void 0) && c27904_1()) {
|
|
c27904_3 = c27904_3 + 1;
|
|
} else {
|
|
c27904_3 = 0;
|
|
}
|
|
const r29 = Date.now() - c27904_2;
|
|
if (!(c27904_3 >= 2) && !(r29 >= 800)) {
|
|
requestAnimationFrame(check2);
|
|
break L23;
|
|
}
|
|
if (env27903[0] === env27929[3] && !((0, env27903[2])() && env27929[2].scrollingTo)) {
|
|
const pendingScrollResolve2 = env27929[2].pendingScrollResolve;
|
|
const r47 = env27903[1];
|
|
if (pendingScrollResolve2 === r47) {
|
|
env27929[2].pendingScrollResolve = void 0;
|
|
}
|
|
r47();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
requestAnimationFrame(check2);
|
|
}
|
|
}
|
|
};
|
|
env27929[7] = (a0) => {};
|
|
env27929[8] = (a0) => {};
|
|
state14.runPendingScrollToEnd = () => {
|
|
const r5 = env27929[2];
|
|
const pendingScrollToEnd = r5.pendingScrollToEnd;
|
|
if (pendingScrollToEnd) {
|
|
r5.pendingScrollToEnd = void 0;
|
|
if (pendingScrollToEnd.token === env27929[3]) {
|
|
(0, env27929[6])(pendingScrollToEnd.token, pendingScrollToEnd.resolve, () => {
|
|
const r7 = env27929[0];
|
|
const options2 = pendingScrollToEnd.options;
|
|
const state14 = r7.state;
|
|
const index3 = state14.props.data.length - 1;
|
|
let r3 = false;
|
|
if (index3 !== -1) {
|
|
env10649[73](r7, {
|
|
...options2,
|
|
index: index3,
|
|
viewOffset: -(state14.props.stylePaddingBottom || 0) - (r7.values.get("footerSize") || 0) + (options2?.viewOffset || 0),
|
|
viewPosition: 1
|
|
});
|
|
r3 = true;
|
|
}
|
|
return r3;
|
|
}, () => (0, env27929[5])(env27929[2].props.data.length - 1, true));
|
|
}
|
|
}
|
|
};
|
|
env27929[9] = (a0) => {};
|
|
env27929[10] = state14.refScroller;
|
|
return {
|
|
clearCaches: (a0) => {
|
|
const mode = a0?.mode;
|
|
const r10 = mode ?? "sizes";
|
|
const r8 = env27929[2];
|
|
r8.sizes.clear();
|
|
r8.sizesKnown.clear();
|
|
(0, env10649[30])(r8);
|
|
const averageSizes = r8.averageSizes;
|
|
for (const key in averageSizes) {
|
|
delete env27929[2].averageSizes[key];
|
|
}
|
|
const r28 = env27929[2];
|
|
r28.minIndexSizeChanged = 0;
|
|
r28.scrollForNextCalculateItemsInView = void 0;
|
|
r28.pendingTotalSize = void 0;
|
|
r28.totalSize = 0;
|
|
const r29 = env10649[22];
|
|
const r30 = env27929[0];
|
|
r29(r30, "totalSize", 0);
|
|
if (r10 === "full") {
|
|
r28.indexByKey.clear();
|
|
r28.idCache.length = 0;
|
|
r28.positions.length = 0;
|
|
r28.columns.length = 0;
|
|
r28.columnSpans.length = 0;
|
|
}
|
|
(function triggerMountedContainerLayouts(a0) {
|
|
if (c10649_27) {
|
|
(0, env10649[87])(a0);
|
|
} else {
|
|
for (const item5 of a0.containerLayoutTriggers.values()) {
|
|
item5();
|
|
}
|
|
}
|
|
})(r30);
|
|
const triggerCalculateItemsInView = r28.triggerCalculateItemsInView;
|
|
if (triggerCalculateItemsInView != null) {
|
|
triggerCalculateItemsInView.call(r28, {
|
|
forceFullItemPositions: true
|
|
});
|
|
}
|
|
},
|
|
flashScrollIndicators: () => env27929[10].current.flashScrollIndicators(),
|
|
getAnimatableRef: () => {
|
|
const r3 = env27929[10];
|
|
const current5 = r3.current;
|
|
const getNativeScrollRef2 = current5.getNativeScrollRef;
|
|
let r7 = getNativeScrollRef2 == null ? void 0 : getNativeScrollRef2.call(current5);
|
|
if (r7 == null) {
|
|
r7 = r3.current;
|
|
}
|
|
return r7;
|
|
},
|
|
getNativeScrollRef: () => env27929[10].current,
|
|
getScrollableNode: () => env27929[10].current.getScrollableNode(),
|
|
getScrollResponder: () => env27929[10].current.getScrollResponder(),
|
|
getState: () => {
|
|
const r5 = env27929[0];
|
|
const r1 = {
|
|
activeStickyIndex: r5.values.get("activeStickyIndex"),
|
|
contentLength: (0, env10649[25])(r5),
|
|
data: null,
|
|
elementAtIndex: null,
|
|
end: null,
|
|
endBuffered: null,
|
|
getAverageItemSizes: null,
|
|
isAtEnd: null,
|
|
isAtStart: null,
|
|
isEndReached: null,
|
|
isNearEnd: null,
|
|
isNearStart: null,
|
|
isStartReached: null,
|
|
isWithinMaintainScrollAtEndThreshold: null,
|
|
listen: null,
|
|
listenToPosition: null,
|
|
positionAtIndex: null,
|
|
positionByKey: null,
|
|
scroll: null,
|
|
scrollLength: null,
|
|
scrollVelocity: null,
|
|
sizeAtIndex: null,
|
|
sizes: null,
|
|
start: null,
|
|
startBuffered: null
|
|
};
|
|
const r13 = env27929[2];
|
|
r1.data = r13.props.data;
|
|
r1.elementAtIndex = (a0) => {
|
|
let r43;
|
|
const r14 = env27929[0];
|
|
const viewRefs = r14.viewRefs;
|
|
const r7 = env27929[2];
|
|
const props = r7.props;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r13 = "";
|
|
if (data3) {
|
|
const r20 = a0 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a0], a0) : a0 : null;
|
|
r7.idCache[a0] = r20;
|
|
r13 = r20;
|
|
}
|
|
const state14 = r14.state;
|
|
const containerItemKeys = state14?.containerItemKeys;
|
|
let r29 = containerItemKeys == null ? void 0 : containerItemKeys.get(r13);
|
|
if (r29 === void 0) {
|
|
const r34 = r14.values.get("numContainers");
|
|
let r0 = 0;
|
|
const r35 = 0 < r34;
|
|
r29 = -1;
|
|
if (r35) {
|
|
do {
|
|
const r41 = r14.values.get(`containerItemKey${r0}`);
|
|
const r1 = r0;
|
|
r29 = r1;
|
|
if (r41 === r13) {
|
|
break;
|
|
}
|
|
const r42 = r1 + 1;
|
|
r43 = r42 < r34;
|
|
r0 = r42;
|
|
r29 = -1;
|
|
} while (r43);
|
|
}
|
|
}
|
|
const r44 = viewRefs.get(r29);
|
|
return r44?.current;
|
|
};
|
|
r1.end = r13.endNoBuffer;
|
|
r1.endBuffered = r13.endBuffered;
|
|
r1.getAverageItemSizes = () => {
|
|
const r7 = env27929[2];
|
|
const r12 = {};
|
|
const averageSizes = r7.averageSizes;
|
|
for (const key in averageSizes) {
|
|
let r9 = key;
|
|
const r10 = r7.averageSizes[r9];
|
|
if (r10) {
|
|
if (!r9) {
|
|
r9 = "default";
|
|
}
|
|
r12[r9] = {
|
|
average: r10.avg,
|
|
count: r10.num
|
|
};
|
|
}
|
|
}
|
|
return r12;
|
|
};
|
|
r1.isAtEnd = r5.values.get("isAtEnd");
|
|
r1.isAtStart = r5.values.get("isAtStart");
|
|
r1.isEndReached = r13.isEndReached;
|
|
r1.isNearEnd = r5.values.get("isNearEnd");
|
|
r1.isNearStart = r5.values.get("isNearStart");
|
|
r1.isStartReached = r13.isStartReached;
|
|
r1.isWithinMaintainScrollAtEndThreshold = r5.values.get("isWithinMaintainScrollAtEndThreshold");
|
|
r1.listen = (a0, a1) => {
|
|
let env30828;
|
|
const r1 = env27929[0];
|
|
const r10 = env30828 = {};
|
|
env30828[0] = a1;
|
|
const listeners = r1.listeners;
|
|
const r12 = listeners.get(a0);
|
|
env30828[1] = r12;
|
|
let r2 = r12;
|
|
if (!r2) {
|
|
const set2 = new Set();
|
|
env30828[1] = set2;
|
|
listeners.set(a0, set2);
|
|
r2 = set2;
|
|
}
|
|
r2.add(a1);
|
|
return $mk95159(r10);
|
|
};
|
|
r1.listenToPosition = (a0, a1) => {
|
|
const r1 = env27929[0];
|
|
const positionListeners = r1.positionListeners;
|
|
const r12 = positionListeners.get(a0);
|
|
let c30829_1 = r12;
|
|
let r2 = r12;
|
|
if (!r2) {
|
|
const set2 = new Set();
|
|
c30829_1 = set2;
|
|
positionListeners.set(a0, set2);
|
|
r2 = set2;
|
|
}
|
|
r2.add(a1);
|
|
return () => c30829_1.delete(a1);
|
|
};
|
|
r1.positionAtIndex = (a0) => env27929[2].positions[a0];
|
|
r1.positionByKey = (a0) => {
|
|
const r1 = env27929[2];
|
|
const r5 = r1.indexByKey.get(a0);
|
|
return r5 !== void 0 ? r1.positions[r5] : void 0;
|
|
};
|
|
r1.scroll = r13.scroll;
|
|
r1.scrollLength = r13.scrollLength;
|
|
r1.scrollVelocity = getScrollVelocity(r13);
|
|
r1.sizeAtIndex = (a0) => {
|
|
const r5 = env27929[2];
|
|
const { sizesKnown, props } = r5;
|
|
const { data: data3, keyExtractor: keyExtractor2 } = props;
|
|
let r11 = "";
|
|
if (data3) {
|
|
const r12 = a0 < data3.length ? keyExtractor2 ? keyExtractor2(data3[a0], a0) : a0 : null;
|
|
r5.idCache[a0] = r12;
|
|
r11 = r12;
|
|
}
|
|
return sizesKnown.get(r11);
|
|
};
|
|
r1.sizes = r13.sizesKnown;
|
|
r1.start = r13.startNoBuffer;
|
|
r1.startBuffered = r13.startBuffered;
|
|
return r1;
|
|
},
|
|
reportContentInset: (a0) => {
|
|
const r6 = env27929[0];
|
|
const state14 = r6.state;
|
|
const contentInsetOverride2 = a0 ?? void 0;
|
|
const contentInsetOverride = state14.contentInsetOverride;
|
|
const top2 = contentInsetOverride?.top;
|
|
const r11 = top2 ?? 0;
|
|
const top = contentInsetOverride2?.top;
|
|
let r24 = r11 === (top ?? 0);
|
|
if (r24) {
|
|
const bottom = contentInsetOverride?.bottom;
|
|
const r27 = bottom ?? 0;
|
|
const bottom2 = contentInsetOverride2?.bottom;
|
|
r24 = r27 === (bottom2 ?? 0);
|
|
}
|
|
if (r24) {
|
|
const left2 = contentInsetOverride?.left;
|
|
const r35 = left2 ?? 0;
|
|
const left3 = contentInsetOverride2?.left;
|
|
r24 = r35 === (left3 ?? 0);
|
|
}
|
|
if (r24) {
|
|
const right = contentInsetOverride?.right;
|
|
const r43 = right ?? 0;
|
|
const right2 = contentInsetOverride2?.right;
|
|
r24 = r43 === (right2 ?? 0);
|
|
}
|
|
const r48 = !r24;
|
|
state14.contentInsetOverride = contentInsetOverride2;
|
|
if (r48) {
|
|
(0, env10649[50])(r6);
|
|
}
|
|
(0, env10649[70])(r6, env27929[2].scroll, true, {
|
|
markHasScrolled: false
|
|
});
|
|
if (r48) {
|
|
(0, env10649[85])(r6);
|
|
}
|
|
},
|
|
scrollIndexIntoView: (c27906_0) => {
|
|
let env27907;
|
|
const r9 = () => {
|
|
let r2;
|
|
const r6 = env27929[9];
|
|
L8: {
|
|
const r15 = env27929[2];
|
|
r2 = false;
|
|
if (r15) {
|
|
const index3 = c27906_0.index;
|
|
const r17 = (0, env10649[3])(c27906_0, env10649[6]);
|
|
const { startNoBuffer, endNoBuffer } = r15;
|
|
if (!(index3 < startNoBuffer)) {
|
|
const r20 = index3 > endNoBuffer;
|
|
r2 = false;
|
|
if (!r20) {
|
|
break L8;
|
|
}
|
|
}
|
|
env10649[73](env27929[0], {
|
|
...r17,
|
|
index: index3,
|
|
viewPosition: index3 < startNoBuffer ? 0 : 1
|
|
});
|
|
r2 = true;
|
|
}
|
|
}
|
|
return r2;
|
|
};
|
|
const r10 = env27907 = {
|
|
$parent: env27929
|
|
};
|
|
env27907[0] = r9;
|
|
env27907[1] = $mk110505();
|
|
return new Promise($mk110506(r10));
|
|
},
|
|
scrollItemIntoView: ({ item: item3, ...rest }) => {
|
|
let c27908_1 = rest;
|
|
let env27909;
|
|
const r14 = () => {
|
|
let r2;
|
|
L9: {
|
|
const r7 = env27929[2];
|
|
const index4 = r7.props.data.indexOf(item3);
|
|
r2 = index4 !== -1;
|
|
if (r2) {
|
|
const r16 = env27929[9];
|
|
const r11 = {
|
|
index: index4,
|
|
...c27908_1
|
|
};
|
|
r2 = true;
|
|
if (r7) {
|
|
const index3 = r11.index;
|
|
const r24 = (0, env10649[3])(r11, env10649[6]);
|
|
const { startNoBuffer, endNoBuffer } = r7;
|
|
if (!(index3 < startNoBuffer)) {
|
|
const r27 = index3 > endNoBuffer;
|
|
r2 = true;
|
|
if (!r27) {
|
|
break L9;
|
|
}
|
|
}
|
|
env10649[73](env27929[0], {
|
|
...r24,
|
|
index: index3,
|
|
viewPosition: index3 < startNoBuffer ? 0 : 1
|
|
});
|
|
r2 = true;
|
|
}
|
|
}
|
|
}
|
|
return r2;
|
|
};
|
|
const r15 = env27909 = {
|
|
$parent: env27929
|
|
};
|
|
env27909[0] = r14;
|
|
env27909[1] = $mk110505();
|
|
return new Promise($mk110506(r15));
|
|
},
|
|
scrollToEnd: (options) => new Promise((a0) => {
|
|
const token = env27929[3] + 1;
|
|
env27929[3] = token;
|
|
const r5 = env27929[2];
|
|
r5.pendingScrollToEnd = void 0;
|
|
const pendingScrollResolve2 = r5.pendingScrollResolve;
|
|
if (pendingScrollResolve2 != null) {
|
|
pendingScrollResolve2.call(r5);
|
|
}
|
|
r5.pendingScrollResolve = a0;
|
|
r5.pendingScrollToEnd = {
|
|
options,
|
|
resolve: a0,
|
|
token
|
|
};
|
|
const r17 = env27929[1];
|
|
if (r17) {
|
|
r17();
|
|
} else {
|
|
const runPendingScrollToEnd = r5.runPendingScrollToEnd;
|
|
if (runPendingScrollToEnd != null) {
|
|
runPendingScrollToEnd.call(r5);
|
|
}
|
|
}
|
|
}),
|
|
scrollToIndex: (a0) => {
|
|
const r9 = env27929[8];
|
|
let r11 = a0.index >= 0 ? () => (0, env27929[5])(a0.index) : void 0;
|
|
let env27912;
|
|
const r13 = () => {
|
|
(0, env10649[73])(env27929[0], a0);
|
|
return true;
|
|
};
|
|
const r14 = env27912 = {
|
|
$parent: env27929
|
|
};
|
|
env27912[0] = r13;
|
|
if (r11 === void 0) {
|
|
r11 = $mk110505();
|
|
}
|
|
env27912[1] = r11;
|
|
return new Promise($mk110506(r14));
|
|
},
|
|
scrollToItem: ({ item: item4, ...rest }) => {
|
|
let c27913_1 = rest;
|
|
let env27914;
|
|
const r14 = () => {
|
|
const index3 = env27929[2].props.data.indexOf(item4);
|
|
let r1 = index3 !== -1;
|
|
if (r1) {
|
|
env10649[73](env27929[0], {
|
|
index: index3,
|
|
...c27913_1
|
|
});
|
|
r1 = true;
|
|
}
|
|
return r1;
|
|
};
|
|
const r15 = env27914 = {
|
|
$parent: env27929
|
|
};
|
|
env27914[0] = r14;
|
|
env27914[1] = $mk110505();
|
|
return new Promise($mk110506(r15));
|
|
},
|
|
scrollToOffset: (c27915_0) => {
|
|
let env27916;
|
|
const r9 = () => {
|
|
(0, env10649[72])(env27929[0], c27915_0);
|
|
return true;
|
|
};
|
|
const r10 = env27916 = {
|
|
$parent: env27929
|
|
};
|
|
env27916[0] = r9;
|
|
env27916[1] = $mk110505();
|
|
return new Promise($mk110506(r10));
|
|
},
|
|
setItemSize: (a0, a1) => {
|
|
(0, env10649[107])(env27929[0], [{
|
|
itemKey: a0,
|
|
size: a1
|
|
}]);
|
|
},
|
|
setScrollProcessingEnabled: (a0) => {
|
|
env27929[2].scrollProcessingEnabled = a0;
|
|
},
|
|
setVisibleContentAnchorOffset: (a0) => {
|
|
(0, env10649[22])(env27929[0], "scrollAdjustUserOffset", typeof a0 === "function" ? a0(env27929[0].values.get("scrollAdjustUserOffset") || 0) : a0);
|
|
}
|
|
};
|
|
}, []);
|
|
r31.useEffect(() => () => {
|
|
if (current3.queuedFullDrawDistancePrewarm !== void 0) {
|
|
cancelAnimationFrame(current3.queuedFullDrawDistancePrewarm);
|
|
current3.queuedFullDrawDistancePrewarm = void 0;
|
|
}
|
|
for (const timeout of current3.timeouts) {
|
|
clearTimeout(timeout);
|
|
}
|
|
current3.timeouts.clear();
|
|
}, [current3]);
|
|
r31.useLayoutEffect(() => {
|
|
const runPendingScrollToEnd = current3.runPendingScrollToEnd;
|
|
if (runPendingScrollToEnd != null) {
|
|
runPendingScrollToEnd.call(current3);
|
|
}
|
|
});
|
|
r31.useEffect(() => {}, [context9, r221]);
|
|
const memo6 = r31.useMemo(() => ({
|
|
getRenderedItem: (a0) => {
|
|
const state14 = context9.state;
|
|
let r13 = null;
|
|
if (state14) {
|
|
const { indexByKey: indexByKey2, props } = state14;
|
|
const { data: data3, getItemType, renderItem: renderItem2 } = props;
|
|
const index3 = indexByKey2.get(a0);
|
|
r13 = null;
|
|
if (index3 !== void 0) {
|
|
const extraData2 = context9.values.get("extraData");
|
|
const item5 = data3[index3];
|
|
const r21 = renderItem2 && !(item5 == null);
|
|
let renderedItem = null;
|
|
if (r21) {
|
|
let type = "";
|
|
if (getItemType) {
|
|
const r25 = getItemType(item5, index3);
|
|
type = r25 ?? "";
|
|
}
|
|
renderedItem = renderItem2({
|
|
data: data3,
|
|
extraData: extraData2,
|
|
index: index3,
|
|
item: item5,
|
|
type
|
|
});
|
|
}
|
|
r13 = {
|
|
index: index3,
|
|
item: data3[index3],
|
|
renderedItem
|
|
};
|
|
}
|
|
}
|
|
return r13;
|
|
},
|
|
onMomentumScrollEnd: (a0) => {
|
|
(0, env10649[63])(context9);
|
|
if (current3.props.onMomentumScrollEnd) {
|
|
current3.props.onMomentumScrollEnd(a0);
|
|
}
|
|
},
|
|
onScroll: (a0) => {
|
|
let r74;
|
|
L142: {
|
|
const state14 = context9.state;
|
|
if (state14.scrollProcessingEnabled !== false) {
|
|
const nativeEvent = a0.nativeEvent;
|
|
const contentSize = nativeEvent?.contentSize;
|
|
if (contentSize?.height === 0) {
|
|
const contentSize2 = a0.nativeEvent.contentSize;
|
|
if (contentSize2?.width === 0) {
|
|
break L142;
|
|
}
|
|
}
|
|
const nativeEvent2 = a0.nativeEvent;
|
|
const contentInset = nativeEvent2?.contentInset;
|
|
let r41 = false;
|
|
if (contentInset) {
|
|
const contentInset2 = a0.nativeEvent.contentInset;
|
|
const nativeContentInset = state14.nativeContentInset;
|
|
const r44 = nativeContentInset && nativeContentInset.top === contentInset2.top && nativeContentInset.bottom === contentInset2.bottom && nativeContentInset.left === contentInset2.left && nativeContentInset.right === contentInset2.right;
|
|
r41 = false;
|
|
if (!r44) {
|
|
state14.nativeContentInset = contentInset2;
|
|
r41 = true;
|
|
}
|
|
}
|
|
const contentOffset = a0.nativeEvent.contentOffset;
|
|
const r55 = state14.props.horizontal ? "x" : "y";
|
|
const r56 = env10649;
|
|
const r57 = contentOffset[r55];
|
|
const horizontal6 = state14.props.horizontal;
|
|
let lastNativeScroll = r57;
|
|
if (horizontal6) {
|
|
const contentSize3 = a0.nativeEvent.contentSize;
|
|
const width2 = contentSize3?.width;
|
|
const props = state14?.props;
|
|
let r67 = !!props?.horizontal;
|
|
if (r67) {
|
|
let r69 = props?.rtl;
|
|
if (r69 == null) {
|
|
r69 = !!env10649[11].I18nManager.isRTL;
|
|
}
|
|
r67 = r69;
|
|
}
|
|
if (r67) {
|
|
const r20 = width2 !== void 0 && (Number.isFinite(width2) && (Number.isFinite(state14.scrollLength) && !(width2 <= state14.scrollLength))) ? Math.max(0, width2 - state14.scrollLength) : width2 !== void 0 ? Number.isFinite(width2) ? Number.isFinite(state14.scrollLength) ? 0 : void 0 : void 0 : void 0;
|
|
if (r57 < 0) {
|
|
state14.horizontalRTLScrollType = "negative";
|
|
const r138 = -r57;
|
|
r74 = r20 !== void 0 ? Math.max(0, Math.min(r20, r138)) : r138;
|
|
} else {
|
|
const r95 = r20 === void 0;
|
|
r74 = r57;
|
|
if (!r95) {
|
|
const r21 = r20 - r57;
|
|
if (Number.isFinite(r21)) {
|
|
const horizontalRTLScrollType = state14.horizontalRTLScrollType;
|
|
if (horizontalRTLScrollType === "inverted") {
|
|
r74 = r95 ? r21 : Math.max(0, Math.min(r20, r21));
|
|
} else {
|
|
let horizontalRTLScrollType2 = "normal";
|
|
if (horizontalRTLScrollType === "normal") {
|
|
r74 = r95 ? r57 : Math.max(0, Math.min(r20, r57));
|
|
} else if (state14.hasScrolled) {
|
|
const scroll2 = state14.scroll;
|
|
const r112 = Math.abs(r57 - scroll2);
|
|
const r7 = Math.abs(r21 - scroll2) + 0.5 < r112;
|
|
if (r7) {
|
|
horizontalRTLScrollType2 = "inverted";
|
|
}
|
|
state14.horizontalRTLScrollType = horizontalRTLScrollType2;
|
|
const r118 = r7 ? r21 : r57;
|
|
r74 = r95 ? r118 : Math.max(0, Math.min(r20, r118));
|
|
} else {
|
|
state14.horizontalRTLScrollType = "inverted";
|
|
r74 = r95 ? r21 : Math.max(0, Math.min(r20, r21));
|
|
}
|
|
}
|
|
} else {
|
|
state14.horizontalRTLScrollType = "normal";
|
|
r74 = r57;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
state14.horizontalRTLScrollType = void 0;
|
|
r74 = r57;
|
|
}
|
|
lastNativeScroll = r74;
|
|
}
|
|
let didFinishInitialScroll = state14.didFinishInitialScroll;
|
|
if (didFinishInitialScroll) {
|
|
const initialScroll2 = state14.initialScroll;
|
|
didFinishInitialScroll = initialScroll2?.viewPosition === 1;
|
|
}
|
|
if (didFinishInitialScroll) {
|
|
didFinishInitialScroll = state14.scroll > state14.scrollLength;
|
|
}
|
|
if (r41 && lastNativeScroll < 0 && didFinishInitialScroll) {
|
|
break L142;
|
|
}
|
|
state14.lastNativeScroll = lastNativeScroll;
|
|
state14.lastNativeScrollTime = Date.now();
|
|
if (state14.scrollingTo && state14.scrollingTo.offset >= lastNativeScroll) {
|
|
const scrollingTo2 = state14.scrollingTo;
|
|
const state15 = context9.state;
|
|
const r163 = (0, env10649[25])(context9);
|
|
const isFinite2 = Number.isFinite(r163);
|
|
let r167 = lastNativeScroll;
|
|
if (isFinite2) {
|
|
const isFinite3 = Number.isFinite(state15.scrollLength);
|
|
r167 = lastNativeScroll;
|
|
if (isFinite3) {
|
|
const lastLayout = state15.lastLayout;
|
|
r167 = lastNativeScroll;
|
|
if (lastLayout) {
|
|
const r177 = Math.max(0, r163 - state15.scrollLength);
|
|
const viewOffset = scrollingTo2?.viewOffset;
|
|
r167 = Math.min(lastNativeScroll, r177 + (typeof viewOffset === "number" ? viewOffset < 0 ? -viewOffset : 0 : 0));
|
|
}
|
|
}
|
|
}
|
|
const offset = Math.max(0, r167);
|
|
if (lastNativeScroll !== offset && Math.abs(lastNativeScroll - offset) > 1) {
|
|
(0, env10649[72])(context9, {
|
|
forceScroll: true,
|
|
isInitialScroll: true,
|
|
noScrollingTo: true,
|
|
offset
|
|
});
|
|
break L142;
|
|
}
|
|
}
|
|
state14.scrollPending = lastNativeScroll;
|
|
(0, env10649[70])(context9, lastNativeScroll, r41, {
|
|
fromNativeScrollEvent: true
|
|
});
|
|
const r197 = c10649_37.get(state14);
|
|
if (r197 && c10649_37.didReachTarget(lastNativeScroll, r197)) {
|
|
c10649_37.clear(state14);
|
|
} else if (r197) {
|
|
state14.hasScrolled = false;
|
|
c10649_37.set(state14, {
|
|
startScroll: r197.startScroll,
|
|
targetOffset: r197.targetOffset
|
|
});
|
|
}
|
|
const state16 = context9.state;
|
|
const { initialScroll: initialScroll3, didFinishInitialScroll: didFinishInitialScroll2 } = state16;
|
|
let r210 = !didFinishInitialScroll2;
|
|
if (didFinishInitialScroll2) {
|
|
const scrollingTo3 = state16.scrollingTo;
|
|
r210 = scrollingTo3?.isInitialScroll;
|
|
}
|
|
if (!r210) {
|
|
r210 = initialScroll3?.viewPosition !== 1;
|
|
}
|
|
if (!r210) {
|
|
r210 = state16.preservedEndAnchorCorrection;
|
|
}
|
|
if (!r210 && (0, env10649[82])(context9, initialScroll3)) {
|
|
let r219 = initialScroll3 ? initialScroll3.viewPosition !== 1 : !initialScroll3;
|
|
if (!r219) {
|
|
const r225 = !!initialScroll3?.preserveForBottomPadding;
|
|
r219 = r225 ? !r225 : !!!initialScroll3?.preserveForFooterLayout;
|
|
}
|
|
if (!(!r219 && context9.values.get("isAtEnd"))) {
|
|
if (initialScroll3?.preserveForFooterLayout) {
|
|
const r245 = env10649[81];
|
|
const stylePaddingBottom2 = state16.props.stylePaddingBottom;
|
|
r245(context9, {
|
|
dataLength: state16.props.data.length,
|
|
stylePaddingBottom: stylePaddingBottom2 ?? 0,
|
|
target: initialScroll3
|
|
});
|
|
} else {
|
|
if (state16.timeoutPreservedInitialScrollClear !== void 0) {
|
|
clearTimeout(state16.timeoutPreservedInitialScrollClear);
|
|
state16.timeoutPreservedInitialScrollClear = void 0;
|
|
}
|
|
state16.clearPreservedInitialScrollOnNextFinish = void 0;
|
|
state16.initialScroll = void 0;
|
|
(0, env10649[38])(state16);
|
|
}
|
|
}
|
|
}
|
|
if (state14.scrollingTo) {
|
|
let env30832;
|
|
const r256 = env30832 = {
|
|
$parent: r56
|
|
};
|
|
env30832[0] = context9;
|
|
context9.state.scrollingTo;
|
|
context9.state.animFrameCheckFinishedScroll = requestAnimationFrame($mk95167(r256));
|
|
}
|
|
if (state14.props.onScroll) {
|
|
state14.props.onScroll(a0);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
onScrollBeginDrag: (a0) => {
|
|
if (context9.state.edgeReachedGate) {
|
|
context9.state.edgeReachedGate = "prepared";
|
|
}
|
|
const props = current3.props;
|
|
const onScrollBeginDrag2 = props.onScrollBeginDrag;
|
|
if (onScrollBeginDrag2 != null) {
|
|
onScrollBeginDrag2.call(props, a0);
|
|
}
|
|
},
|
|
onScrollEnd: () => {
|
|
if (context9.state.edgeReachedGate) {
|
|
context9.state.edgeReachedGate = "prepared";
|
|
}
|
|
}
|
|
}), []);
|
|
const onScroll5 = memo6.onScroll;
|
|
stickyHeaderIndices2 = stickyHeaderIndices;
|
|
horizontal5 = horizontal4;
|
|
context10 = context9;
|
|
onScroll3 = onScroll5;
|
|
c21609_4 = void 0;
|
|
const r703 = !context9.state.props.stickyPositionComponentInternal;
|
|
c21609_4 = r703;
|
|
const memo7 = r490.useMemo(() => {
|
|
if ((stickyHeaderIndices2 == null ? void 0 : stickyHeaderIndices2.length) && c21609_4) {
|
|
const animatedScrollY2 = context10.animatedScrollY;
|
|
const Animated = env10649[11].Animated;
|
|
const r7 = horizontal5 ? "x" : "y";
|
|
const contentOffset = {};
|
|
contentOffset[r7] = animatedScrollY2;
|
|
return Animated.event([{
|
|
nativeEvent: {
|
|
contentOffset
|
|
}
|
|
}], {
|
|
listener: onScroll3,
|
|
useNativeDriver: true
|
|
});
|
|
}
|
|
return onScroll3;
|
|
}, [stickyHeaderIndices == null ? void 0 : stickyHeaderIndices.join(","), horizontal4, r703]);
|
|
const Fragment = r251.Fragment;
|
|
const ListEmptyComponent2 = data3.length === 0 ? ListEmptyComponent : void 0;
|
|
if (refreshControl) {
|
|
let r733 = refreshControl;
|
|
if (stylePaddingTop > 0) {
|
|
const progressViewOffset2 = refreshControl.props.progressViewOffset;
|
|
r733 = r251.cloneElement(refreshControl, {
|
|
progressViewOffset: (progressViewOffset2 ?? 0) + stylePaddingTop
|
|
});
|
|
}
|
|
refreshControl2 = r733;
|
|
} else {
|
|
refreshControl2 = onRefresh;
|
|
if (refreshControl2) {
|
|
const RefreshControl = env10649[11].RefreshControl;
|
|
if (!progressViewOffset) {
|
|
progressViewOffset = 0;
|
|
}
|
|
refreshControl2 = r251.createElement(RefreshControl, {
|
|
onRefresh,
|
|
progressViewOffset: progressViewOffset + stylePaddingTop,
|
|
refreshing: !!refreshing
|
|
});
|
|
}
|
|
}
|
|
const current5 = ref5.current;
|
|
const element = r251.createElement(c10649_131, {
|
|
...r50,
|
|
alignItemsAtEnd: alignItemsAtEnd2,
|
|
canRender,
|
|
contentContainerStyle: contentContainerStyle2,
|
|
contentInset,
|
|
getRenderedItem: memo6.getRenderedItem,
|
|
horizontal: horizontal4,
|
|
initialContentOffset: memo4,
|
|
ListEmptyComponent: ListEmptyComponent2,
|
|
ListFooterComponent: ListFooterComponent2,
|
|
ListFooterComponentStyle,
|
|
ListHeaderComponent: ListHeaderComponent2,
|
|
onInternalScrollBeginDrag: memo6.onScrollBeginDrag,
|
|
onInternalScrollEnd: memo6.onScrollEnd,
|
|
onLayout: callback7,
|
|
onLayoutFooter: callback6,
|
|
onMomentumScrollEnd: memo6.onMomentumScrollEnd,
|
|
onScroll: memo7,
|
|
recycleItems: recycleItems2,
|
|
refreshControl: refreshControl2,
|
|
refScrollView: combinedRef,
|
|
renderScrollComponent: renderScrollComponent2,
|
|
scrollAdjustHandler: current5?.scrollAdjustHandler,
|
|
scrollEventThrottle: 0,
|
|
snapToIndices,
|
|
stickyHeaderIndices,
|
|
style: style3,
|
|
useWindowScroll: false
|
|
});
|
|
if (r595) {
|
|
r595 = c10649_34;
|
|
}
|
|
return r251.createElement(Fragment, null, element, r595);
|
|
});
|
|
const r268 = {
|
|
getComponent,
|
|
getStickyPushLimit,
|
|
IsNewArchitecture,
|
|
POSITION_OUT_OF_VIEW: -10000000,
|
|
peek$,
|
|
typedForwardRef: forwardRef,
|
|
typedMemo: memo5,
|
|
useArr$,
|
|
useCombinedRef,
|
|
useLatestRef,
|
|
useStableRenderComponent,
|
|
useStateContext
|
|
};
|
|
export { r265 as LegendList };
|
|
export { r268 as internal };
|
|
export function useAdaptiveRender() {
|
|
let env21610;
|
|
const r4 = ["adaptiveRender"];
|
|
const r3 = env21610 = {
|
|
$parent: env10649
|
|
};
|
|
const r6 = env10649[12];
|
|
const context18 = r6.useContext(c10649_17);
|
|
env21610[0] = context18;
|
|
const r12 = r4.length === 1 ? r4[0] : r4.join("\x00");
|
|
env21610[1] = r12;
|
|
const memo5 = r6.useMemo($mk95160(r3), [context18, r12]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
return (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
}
|
|
export function useAdaptiveRenderChange(a0) {
|
|
const context11 = env10649[12].useContext(c10649_17);
|
|
const r8 = env10649[10];
|
|
const ref10 = r8.useRef(a0);
|
|
ref10.current = a0;
|
|
r8.useLayoutEffect(() => {
|
|
let env27931;
|
|
let c27930_0 = context11.values.get("adaptiveRender");
|
|
const r13 = (a0) => {
|
|
if (c27930_0 !== a0) {
|
|
c27930_0 = a0;
|
|
ref10.current(a0);
|
|
}
|
|
};
|
|
const r14 = env27931 = {};
|
|
env27931[0] = r13;
|
|
env27931[1] = void 0;
|
|
const listeners = context11.listeners;
|
|
const r16 = listeners.get("adaptiveRender");
|
|
env27931[1] = r16;
|
|
let r17 = r16;
|
|
if (!r17) {
|
|
const set2 = new Set();
|
|
env27931[1] = set2;
|
|
listeners.set("adaptiveRender", set2);
|
|
r17 = set2;
|
|
}
|
|
r17.add(r13);
|
|
return $mk95159(r14);
|
|
}, [context11]);
|
|
}
|
|
export { useIsLastItem };
|
|
export function useListScrollSize() {
|
|
let env21612;
|
|
const r4 = ["scrollSize"];
|
|
const r3 = env21612 = {
|
|
$parent: env10649
|
|
};
|
|
const r6 = env10649[12];
|
|
const context18 = r6.useContext(c10649_17);
|
|
env21612[0] = context18;
|
|
const r12 = r4.length === 1 ? r4[0] : r4.join("\x00");
|
|
env21612[1] = r12;
|
|
const memo5 = r6.useMemo($mk95160(r3), [context18, r12]);
|
|
const { subscribe: subscribe2, get: get3 } = memo5;
|
|
return (0, env10649[4])((0, env10649[0])(env10649[1][6]).useSyncExternalStore(subscribe2, get3, get3), 1)[0];
|
|
}
|
|
export function useRecyclingEffect(a0) {
|
|
const r4 = env10649[116];
|
|
const r5 = env10649[10];
|
|
const r13 = r4(r5.useContext(c10649_115));
|
|
const { hasItemInfo, item, itemIndex, itemKey: itemKey4 } = r13;
|
|
const ref11 = r5.useRef(void 0);
|
|
r5.useEffect(() => {
|
|
if (hasItemInfo) {
|
|
const r7 = ref11.current ? a0({
|
|
index: itemIndex,
|
|
item,
|
|
prevIndex: ref11.current.index,
|
|
prevItem: ref11.current.item
|
|
}) : void 0;
|
|
ref11.current = {
|
|
index: itemIndex,
|
|
item
|
|
};
|
|
return r7;
|
|
}
|
|
}, [a0, hasItemInfo, itemIndex, item, itemKey4]);
|
|
}
|
|
export function useRecyclingState(a0) {
|
|
let setState3, triggerLayout;
|
|
const r8 = env10649[10];
|
|
const context18 = r8.useContext(c10649_115);
|
|
const r19 = (0, env10649[116])(context18);
|
|
const { hasItemInfo: hasItemInfo2, item: item2, itemIndex: itemIndex2, itemKey: itemKey4 } = r19;
|
|
const computeValue2 = () => {};
|
|
const r25 = (0, env10649[4])(r8.useState(() => {
|
|
let r9 = a0;
|
|
if (typeof r9 === "function") {
|
|
r9 = hasItemInfo2 ? a0({
|
|
index: itemIndex2,
|
|
item: item2,
|
|
prevIndex: void 0,
|
|
prevItem: void 0
|
|
}) : a0();
|
|
}
|
|
return r9;
|
|
}), 2);
|
|
const r26 = r25[0];
|
|
setState3 = r25[1];
|
|
const ref12 = r8.useRef(hasItemInfo2 ? itemKey4 : null);
|
|
if (hasItemInfo2 ? ref12.current !== itemKey4 : hasItemInfo2) {
|
|
ref12.current = itemKey4;
|
|
setState3(typeof a0 === "function" ? hasItemInfo2 ? a0({
|
|
index: itemIndex2,
|
|
item: item2,
|
|
prevIndex: void 0,
|
|
prevItem: void 0
|
|
}) : a0() : a0);
|
|
}
|
|
triggerLayout = context18?.triggerLayout;
|
|
return [r26, r8.useCallback((c27932_0) => {
|
|
if (triggerLayout) {
|
|
setState3((prevState3) => {
|
|
let r4 = c27932_0;
|
|
if (typeof r4 === "function") {
|
|
r4 = c27932_0(prevState3);
|
|
}
|
|
return r4;
|
|
});
|
|
triggerLayout();
|
|
}
|
|
}, [triggerLayout])];
|
|
}
|
|
export function useSyncLayout() {
|
|
const context18 = env10649[10].useContext(c10649_115);
|
|
return c10649_27 && context18 ? context18.triggerLayout : noop;
|
|
}
|
|
export function useViewability(a0, a1) {
|
|
let env21616;
|
|
const context12 = env10649[12].useContext(c10649_17);
|
|
const r9 = env10649[10];
|
|
const context13 = r9.useContext(c10649_115);
|
|
const r13 = env21616 = {};
|
|
env21616[0] = () => {
|
|
if (context13) {
|
|
const containerId3 = context13.containerId;
|
|
const r11 = context12.mapViewabilityValues.get(containerId3 + (a1 ?? ""));
|
|
if (r11) {
|
|
a0(r11);
|
|
}
|
|
}
|
|
};
|
|
r9.useState($mk95184(r13));
|
|
r9.useEffect(() => {
|
|
if (context13) {
|
|
const containerId3 = context13.containerId;
|
|
const r3 = a1 ?? "";
|
|
const r5 = containerId3 + r3;
|
|
let c27933_0 = r5;
|
|
context12.mapViewabilityCallbacks.set(r5, a0);
|
|
return () => {
|
|
context12.mapViewabilityCallbacks.delete(c27933_0);
|
|
};
|
|
}
|
|
}, [context12, a0, a1, context13]);
|
|
}
|
|
export function useViewabilityAmount(a0) {
|
|
let env21618;
|
|
const context14 = env10649[12].useContext(c10649_17);
|
|
const r8 = env10649[10];
|
|
const context15 = r8.useContext(c10649_115);
|
|
const r12 = env21618 = {};
|
|
env21618[0] = () => {
|
|
if (context15) {
|
|
const r7 = context14.mapViewabilityAmountValues.get(context15.containerId);
|
|
if (r7) {
|
|
a0(r7);
|
|
}
|
|
}
|
|
};
|
|
r8.useState($mk95184(r12));
|
|
r8.useEffect(() => {
|
|
if (context15) {
|
|
const containerId2 = context15.containerId;
|
|
context14.mapViewabilityAmountCallbacks.set(containerId2, a0);
|
|
return () => {
|
|
context14.mapViewabilityAmountCallbacks.delete(containerId2);
|
|
};
|
|
}
|
|
}, [context14, a0, context15]);
|
|
}
|