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

49 lines
2.6 KiB
React

// Metro module 5380 (f5381).
import * as _Module19 from "react";
import { useMemo } from "react";
import { useBottomSheetInternal, useBottomSheetGestureHandlers } from "./Module5250";
import { Gesture, GestureDetector } from "./Module5273";
import { BottomSheetDraggableContext } from "./Module5257";
import Module1606 from "./Module1606";
const memo2 = _Module19.memo;
const r22 = memo2(({ nativeGestureRef, refreshControlGestureRef, style, children, ...props }) => {
const bottomSheetInternal = useBottomSheetInternal();
const { enableContentPanningGesture, simultaneousHandlers, waitFor, activeOffsetX, activeOffsetY, failOffsetX, failOffsetY } = bottomSheetInternal;
const contentPanGestureHandler = useBottomSheetGestureHandlers().contentPanGestureHandler;
const memo = useMemo(() => {
const r1 = [];
if (nativeGestureRef) {
r1.push(nativeGestureRef);
}
if (refreshControlGestureRef) {
r1.push(refreshControlGestureRef);
}
if (simultaneousHandlers) {
const isArray = Array.isArray(simultaneousHandlers);
const push = r1.push;
if (isArray) {
push.apply(r1, [...simultaneousHandlers]);
} else {
push.call(r1, simultaneousHandlers);
}
}
return r1;
}, [simultaneousHandlers, nativeGestureRef, refreshControlGestureRef]);
const memo2 = useMemo(() => {
const r30 = Gesture.Pan().enabled(enableContentPanningGesture).shouldCancelWhenOutside(false).runOnJS(false).onStart(contentPanGestureHandler.handleOnStart).onChange(contentPanGestureHandler.handleOnChange).onEnd(contentPanGestureHandler.handleOnEnd).onFinalize(contentPanGestureHandler.handleOnFinalize);
const r32 = waitFor ? r30.requireExternalGestureToFail(waitFor) : r30;
const r35 = memo ? r32.simultaneousWithExternalGesture(memo) : r32;
const r38 = activeOffsetX ? r35.activeOffsetX(activeOffsetX) : r35;
const r41 = activeOffsetY ? r38.activeOffsetY(activeOffsetY) : r38;
const r44 = failOffsetX ? r41.failOffsetX(failOffsetX) : r41;
return failOffsetY ? r44.failOffsetY(failOffsetY) : r44;
}, [activeOffsetX, activeOffsetY, enableContentPanningGesture, failOffsetX, failOffsetY, memo, waitFor, contentPanGestureHandler.handleOnChange, contentPanGestureHandler.handleOnEnd, contentPanGestureHandler.handleOnFinalize, contentPanGestureHandler.handleOnStart]);
return <GestureDetector gesture={memo2}>
<BottomSheetDraggableContext.Provider value={memo2}>
<Module1606.View style={style} {...props}>{children}</Module1606.View>
</BottomSheetDraggableContext.Provider>
</GestureDetector>;
});
r22.displayName = "BottomSheetDraggableView";
export default r22;