UNPKG

@gechiui/components

Version:
16 lines (15 loc) 865 B
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * 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("div", useFocusOutside(handleFocusOutside), createElement(WrappedComponent, _extends({ ref: bindFocusOutsideHandler }, props))); }, 'withFocusOutside'); //# sourceMappingURL=index.js.map