UNPKG

refun

Version:

A collection of React Hook-enabled functions that compose harmoniously with each other. Similar to `recompose`, but:

46 lines (37 loc) 1.14 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.mapFocused = void 0; var _react = require("react"); var _tsfn = require("tsfn"); const mapFocused = props => { const [isFocused, setIsFocused] = (0, _react.useState)(false); const origOnFocusRef = (0, _react.useRef)(); const origOnBlurRef = (0, _react.useRef)(); const onFocusRef = (0, _react.useRef)(_tsfn.NOOP); const onBlurRef = (0, _react.useRef)(_tsfn.NOOP); origOnFocusRef.current = props.onFocus; origOnBlurRef.current = props.onBlur; if (onFocusRef.current === _tsfn.NOOP) { onFocusRef.current = () => { setIsFocused(true); if ((0, _tsfn.isFunction)(origOnFocusRef.current)) { origOnFocusRef.current(); } }; } if (onBlurRef.current === _tsfn.NOOP) { onBlurRef.current = () => { setIsFocused(false); if ((0, _tsfn.isFunction)(origOnBlurRef.current)) { origOnBlurRef.current(); } }; } return { ...props, isFocused: isFocused || Boolean(props.isFocused), onFocus: onFocusRef.current, onBlur: onBlurRef.current }; }; exports.mapFocused = mapFocused;