UNPKG

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

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

60 lines (51 loc) 1.22 kB
import { isNil, pathOr } from "ramda"; import { useFocusable } from "@applicaster/zapp-react-native-ui-components/Components/Focusable/index.android"; import { getNextFocusRight, getNextFocusLeft, getNextFocusDown, getNextFocusUp, } from "./utils"; export const useParentFocus = ({ parentFocused, disableNextFocusUp, disableNextFocusRight, disableNextFocusDown, disableNextFocusLeft, parentNextFocusUp, parentNextFocusRight, parentNextFocusDown, parentNextFocusLeft, }) => { const parentFocus = useFocusable() || {}; const focused = isNil(parentFocused) ? pathOr(false, ["focused"], parentFocus) : parentFocused; const nextFocusRight = getNextFocusRight( disableNextFocusRight, parentNextFocusRight, parentFocus ); const nextFocusLeft = getNextFocusLeft( disableNextFocusLeft, parentNextFocusLeft, parentFocus ); const nextFocusDown = getNextFocusDown( disableNextFocusDown, parentNextFocusDown, parentFocus ); const nextFocusUp = getNextFocusUp( disableNextFocusUp, parentNextFocusUp, parentFocus ); return { focused, nextFocusDown, nextFocusUp, nextFocusLeft, nextFocusRight, }; };