UNPKG

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

Version:
44 lines (43 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useBottomSheetToolboxStackSheet = useBottomSheetToolboxStackSheet; var _react = _interopRequireDefault(require("react")); var _bottomSheetToolboxStackContext = require("./context/bottom-sheet-toolbox-stack-context"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function useBottomSheetToolboxStackSheet(name) { const { notifyClosed, sheetStack, activeSheet } = (0, _bottomSheetToolboxStackContext.useBottomSheetToolboxStackContext)(); const sheetRef = _react.default.useRef(null); const [isReady, setIsReady] = _react.default.useState(false); const isActive = activeSheet === name; const isMounted = sheetStack.includes(name); _react.default.useEffect(() => { if (!isMounted) { setIsReady(false); } }, [isMounted]); return _react.default.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