62 lines
3.4 KiB
React
62 lines
3.4 KiB
React
// Metro module 5389 (f5390).
|
|
import * as _Module19 from "react";
|
|
import { useCallback, useMemo, useRef } from "react";
|
|
import * as _Module5249 from "./Module5249";
|
|
import { useBottomSheetInternal, useBottomSheetGestureHandlers, useBoundingClientRect } from "./Module5250";
|
|
import { Gesture, GestureDetector } from "./Module5273";
|
|
import BottomSheetHandle from "./BottomSheetHandle";
|
|
import Module1606 from "./Module1606";
|
|
const memo2 = _Module19.memo;
|
|
const r24 = memo2(function BottomSheetHandleContainerComponent(props) {
|
|
const { animatedIndex, animatedPosition, simultaneousHandlers, enableHandlePanningGesture = _Module5249.DEFAULT_ENABLE_HANDLE_PANNING_GESTURE } = props;
|
|
const DEFAULT_ENABLE_HANDLE_PANNING_GESTURE = enableHandlePanningGesture;
|
|
const handleHeight = props.handleHeight;
|
|
let HandleComponent = props.handleComponent;
|
|
const { handleStyle, handleIndicatorStyle } = props;
|
|
const ref = useRef(null);
|
|
const bottomSheetInternal = useBottomSheetInternal();
|
|
const { activeOffsetX, activeOffsetY, failOffsetX, failOffsetY, waitFor, simultaneousHandlers: simultaneousHandlers2 } = bottomSheetInternal;
|
|
const handlePanGestureHandler = useBottomSheetGestureHandlers().handlePanGestureHandler;
|
|
const memo = useMemo(() => {
|
|
const r1 = [];
|
|
if (simultaneousHandlers) {
|
|
r1.push(simultaneousHandlers);
|
|
}
|
|
if (simultaneousHandlers2) {
|
|
const isArray = Array.isArray(simultaneousHandlers2);
|
|
const push = r1.push;
|
|
if (isArray) {
|
|
push.apply(r1, [...simultaneousHandlers2]);
|
|
} else {
|
|
push.call(r1, simultaneousHandlers2);
|
|
}
|
|
}
|
|
return r1;
|
|
}, [simultaneousHandlers2, simultaneousHandlers]);
|
|
const memo2 = useMemo(() => {
|
|
const r30 = Gesture.Pan().enabled(DEFAULT_ENABLE_HANDLE_PANNING_GESTURE).shouldCancelWhenOutside(false).runOnJS(false).onStart(handlePanGestureHandler.handleOnStart).onChange(handlePanGestureHandler.handleOnChange).onEnd(handlePanGestureHandler.handleOnEnd).onFinalize(handlePanGestureHandler.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, DEFAULT_ENABLE_HANDLE_PANNING_GESTURE, failOffsetX, failOffsetY, memo, waitFor, handlePanGestureHandler.handleOnChange, handlePanGestureHandler.handleOnEnd, handlePanGestureHandler.handleOnFinalize, handlePanGestureHandler.handleOnStart]);
|
|
const callback = useCallback(function handleContainerLayout(a0) {
|
|
handleHeight.value = a0.nativeEvent.layout.height;
|
|
}, [handleHeight]);
|
|
useBoundingClientRect(ref, useCallback((a0) => {
|
|
handleHeight.value = a0.height;
|
|
}, [handleHeight]));
|
|
if (HandleComponent == null) {
|
|
HandleComponent = BottomSheetHandle;
|
|
}
|
|
return <GestureDetector gesture={memo2}>
|
|
<Module1606.View key="BottomSheetHandleContainer" ref={ref} onLayout={callback}>
|
|
<HandleComponent animatedIndex={animatedIndex} animatedPosition={animatedPosition} style={handleStyle} indicatorStyle={handleIndicatorStyle} />
|
|
</Module1606.View>
|
|
</GestureDetector>;
|
|
});
|
|
r24.displayName = "BottomSheetHandleContainer";
|
|
export default r24;
|