@gechiui/components
Version:
UI components for GeChiUI.
21 lines (19 loc) • 942 B
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@gechiui/element";
/**
* External dependencies
*/
import { View } from 'react-native';
/**
* GeChiUI dependencies
*/
import { useCallback, useState } from '@gechiui/element';
import { createHigherOrderComponent, __experimentalUseFocusOutside as useFocusOutside } from '@gechiui/compose';
export default createHigherOrderComponent(WrappedComponent => props => {
const [handleFocusOutside, setHandleFocusOutside] = useState();
const bindFocusOutsideHandler = useCallback(node => setHandleFocusOutside(() => node !== null && node !== void 0 && node.handleFocusOutside ? node.handleFocusOutside.bind(node) : undefined), []);
return createElement(View, useFocusOutside(handleFocusOutside), createElement(WrappedComponent, _extends({
ref: bindFocusOutsideHandler
}, props)));
}, 'withFocusOutside');
//# sourceMappingURL=index.native.js.map