@wordpress/components
Version:
UI components for WordPress.
24 lines (23 loc) • 964 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _compose = require("@wordpress/compose");
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
var _default = exports.default = (0, _compose.createHigherOrderComponent)(WrappedComponent => props => {
const [handleFocusOutside, setHandleFocusOutside] = (0, _element.useState)(undefined);
const bindFocusOutsideHandler = (0, _element.useCallback)(node => setHandleFocusOutside(() => node?.handleFocusOutside ? node.handleFocusOutside.bind(node) : undefined), []);
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
...(0, _compose.__experimentalUseFocusOutside)(handleFocusOutside),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
ref: bindFocusOutsideHandler,
...props
})
});
}, 'withFocusOutside');
//# sourceMappingURL=index.js.map