import React, { useContext } from 'react'; import { Keyboard } from 'react-native'; import { getDisplayName } from '../utils/getDisplayName'; import type { UnknownType } from '../../types/types'; export type KeyboardContextValue = { dismissKeyboard: () => void; }; export const KeyboardContext = React.createContext({ dismissKeyboard: Keyboard.dismiss, }); export const KeyboardProvider: React.FC<{ value: KeyboardContextValue; }> = ({ children, value }) => ( {children} ); export const useKeyboardContext = () => useContext(KeyboardContext); export const withKeyboardContext =

( Component: React.ComponentType

, ): React.FC> => { const WithKeyboardContextComponent = (props: Omit) => { const keyboardContext = useKeyboardContext(); return ; }; WithKeyboardContextComponent.displayName = `WithKeyboardContext${getDisplayName(Component)}`; return WithKeyboardContextComponent; };