UNPKG

@applicaster/zapp-react-native-ui-components

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

27 lines (20 loc) 783 B
import * as React from "react"; import * as FOCUS_EVENTS from "@applicaster/zapp-react-native-utils/appUtils/focusManager/events"; import { useFocusManager } from "@applicaster/zapp-react-native-utils/focusManager"; export const useCellState = (id: string) => { const focusManager = useFocusManager(); const [currentCellFocused, setCurrentCellFocused] = React.useState( focusManager.isFocused(id) ); React.useEffect(() => { const handler = (focusable) => { const isChildren = focusManager.isFocusableChildOf(focusable, id); setCurrentCellFocused(isChildren); }; focusManager.on(FOCUS_EVENTS.FOCUS, handler); return () => { focusManager.removeHandler(FOCUS_EVENTS.FOCUS, handler); }; }, [id]); return currentCellFocused; };