react-native-external-keyboard
Version:
Toolkit for improving physical keyboard support in React Native
26 lines • 897 B
JavaScript
import { useState, useMemo, useCallback } from 'react';
import { StyleSheet } from 'react-native';
export const useFocusStyle = (focusStyle, onFocusChange) => {
const [focused, setFocusStatus] = useState(false);
const onFocusChangeHandler = useCallback(isFocused => {
setFocusStatus(isFocused);
onFocusChange === null || onFocusChange === void 0 || onFocusChange(isFocused);
}, [onFocusChange]);
const fStyle = useMemo(() => {
if (!focusStyle) return focused ? styles.defaultHighlight : undefined;
const specificStyle = typeof focusStyle === 'function' ? focusStyle({
focused
}) : focusStyle;
return focused ? specificStyle : undefined;
}, [focused, focusStyle]);
return {
onFocusChangeHandler,
fStyle
};
};
const styles = StyleSheet.create({
defaultHighlight: {
backgroundColor: '#dce3f9'
}
});
//# sourceMappingURL=useFocusStyle.js.map