63 lines
3.2 KiB
React
63 lines
3.2 KiB
React
// Metro module 5465 (f5466).
|
|
import { Animated, RefreshControl } from "react-native";
|
|
import Module19, { useMemo } from "react";
|
|
import { getInvertedTransformStyle } from "./Module5433";
|
|
import { CompatView } from "./Module5466";
|
|
import { getValidComponent, isComponentClass } from "./Module5467";
|
|
import { CompatAnimatedScroller } from "./Module5468";
|
|
export function useSecondaryProps({ ListHeaderComponent, ListHeaderComponentStyle, ListFooterComponent, ListFooterComponentStyle, ListEmptyComponent, ListEmptyComponentStyle, renderScrollComponent, refreshing, progressViewOffset, onRefresh, data, refreshControl, stickyHeaderConfig, inverted, horizontal }) {
|
|
const invertedTransformStyle = inverted ? getInvertedTransformStyle(horizontal) : void 0;
|
|
const memo = useMemo(() => {
|
|
let r1 = refreshControl;
|
|
if (!refreshControl) {
|
|
r1 = onRefresh ? <RefreshControl refreshing={Boolean(refreshing)} progressViewOffset={progressViewOffset} onRefresh={onRefresh} /> : void 0;
|
|
}
|
|
return r1;
|
|
}, [onRefresh, refreshing, progressViewOffset, refreshControl]);
|
|
const memo2 = useMemo(() => ListHeaderComponent ? <CompatView style={[ListHeaderComponentStyle, invertedTransformStyle]}>
|
|
{getValidComponent(ListHeaderComponent)}
|
|
</CompatView> : null, [ListHeaderComponent, ListHeaderComponentStyle, invertedTransformStyle]);
|
|
const memo3 = useMemo(() => ListFooterComponent ? <CompatView style={[ListFooterComponentStyle, invertedTransformStyle]}>
|
|
{getValidComponent(ListFooterComponent)}
|
|
</CompatView> : null, [ListFooterComponent, ListFooterComponentStyle, invertedTransformStyle]);
|
|
const memo4 = useMemo(() => {
|
|
L7: {
|
|
if (ListEmptyComponent) {
|
|
if (data && data.length > 0) {
|
|
break L7;
|
|
}
|
|
const validComponent = getValidComponent(ListEmptyComponent);
|
|
return invertedTransformStyle ? <CompatView style={[ListEmptyComponentStyle, invertedTransformStyle]}>{validComponent}</CompatView> : ListEmptyComponentStyle ? <CompatView style={[ListEmptyComponentStyle, invertedTransformStyle]}>{validComponent}</CompatView> : validComponent;
|
|
}
|
|
}
|
|
return null;
|
|
}, [ListEmptyComponent, data, invertedTransformStyle, ListEmptyComponentStyle]);
|
|
const memo5 = useMemo(() => stickyHeaderConfig?.backdropComponent ? <CompatView style={[{
|
|
position: "absolute",
|
|
inset: 0,
|
|
pointerEvents: "none"
|
|
}, invertedTransformStyle]}>
|
|
{getValidComponent(stickyHeaderConfig?.backdropComponent)}
|
|
</CompatView> : null, [stickyHeaderConfig?.backdropComponent, invertedTransformStyle]);
|
|
return {
|
|
refreshControl: memo,
|
|
renderHeader: memo2,
|
|
renderFooter: memo3,
|
|
renderEmpty: memo4,
|
|
CompatScrollView: useMemo(() => {
|
|
let r16;
|
|
if (typeof renderScrollComponent === "function" && !isComponentClass(renderScrollComponent)) {
|
|
r16 = Module19.forwardRef((a0, a1) => renderScrollComponent({
|
|
...a0,
|
|
ref: a1
|
|
}));
|
|
r16.displayName = "CustomScrollView";
|
|
} else {
|
|
r16 = renderScrollComponent ? renderScrollComponent : CompatAnimatedScroller;
|
|
}
|
|
return Animated.createAnimatedComponent(r16);
|
|
}, [renderScrollComponent]),
|
|
renderStickyHeaderBackdrop: memo5
|
|
};
|
|
}
|