Files
discord-decomp/_bundle/Module5370.jsx
T
2026-11-01 12:12:55 +02:00

54 lines
1.9 KiB
React

// Metro module 5370 (f5371).
import { useMemo, useRef, memo } from "react";
import { StatusBar, View } from "react-native";
import { styles } from "./Module5371";
import { useStableCallback } from "./Module5250";
import { WINDOW_HEIGHT } from "./Module5246";
const r27 = memo(function BottomSheetHostingContainerComponent(props) {
const { containerHeight, containerOffset, topInset = 0 } = props;
const top = topInset;
let bottomInset = props.bottomInset;
if (bottomInset === void 0) {
bottomInset = 0;
}
const bottom = bottomInset;
const { shouldCalculateHeight = true, detached, style, children } = props;
const ref = useRef(null);
const memo = useMemo(() => [style, styles.container, {
top,
bottom,
overflow: detached ? "visible" : "hidden"
}], [style, detached, top, bottom]);
const stableCallback = useStableCallback(function handleLayoutEvent(a0) {
const height = a0.nativeEvent.layout.height;
containerHeight.value = height;
const current = ref.current;
if (current != null) {
current.measure((a0, a1, a2, a3, a4, a5) => {
if (containerOffset.value) {
let r10 = a5;
const top2 = a5 == null ? 0 : a5;
const r7 = Math;
if (a5 == null) {
r10 = 0;
}
const r20 = r10 + height;
let currentHeight = StatusBar.currentHeight;
if (currentHeight == null) {
currentHeight = 0;
}
containerOffset.value = {
top: top2,
left: 0,
right: 0,
bottom: r7.max(0, WINDOW_HEIGHT - (r20 + currentHeight))
};
}
});
}
});
return <View ref={ref} pointerEvents="box-none" onLayout={shouldCalculateHeight ? stableCallback : void 0} style={memo} collapsable>{children}</View>;
});
r27.displayName = "BottomSheetHostingContainer";
export { r27 as BottomSheetHostingContainer };