UNPKG

@attio/react-native-bottom-sheet-toolbox-stack

Version:
39 lines (38 loc) 998 B
"use strict"; import React from "react"; import { useBottomSheetToolboxStackContext } from "./context/bottom-sheet-toolbox-stack-context"; export function useBottomSheetToolboxStackSheet(name) { const { notifyClosed, sheetStack, activeSheet } = useBottomSheetToolboxStackContext(); const sheetRef = React.useRef(null); const [isReady, setIsReady] = React.useState(false); const isActive = activeSheet === name; const isMounted = sheetStack.includes(name); React.useEffect(() => { if (!isMounted) { setIsReady(false); } }, [isMounted]); return React.useMemo(() => ({ wrapperProps: { sheetRef, name, isReady }, sheetProps: { ref: sheetRef, onClose() { notifyClosed(name); }, onReadyChange(ready) { setIsReady(ready); } }, isActive, isMounted }), [isActive, isMounted, isReady, name, notifyClosed]); } //# sourceMappingURL=use-bottom-sheet-toolbox-stack-sheet.js.map