@wordpress/components
Version:
UI components for WordPress.
34 lines (25 loc) • 1.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _reactNative = require("react-native");
var _compose = require("@wordpress/compose");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
var _default = (0, _compose.createHigherOrderComponent)(WrappedComponent => props => {
const [handleFocusOutside, setHandleFocusOutside] = (0, _element.useState)();
const bindFocusOutsideHandler = (0, _element.useCallback)(node => setHandleFocusOutside(() => node !== null && node !== void 0 && node.handleFocusOutside ? node.handleFocusOutside.bind(node) : undefined), []);
return (0, _element.createElement)(_reactNative.View, (0, _compose.__experimentalUseFocusOutside)(handleFocusOutside), (0, _element.createElement)(WrappedComponent, (0, _extends2.default)({
ref: bindFocusOutsideHandler
}, props)));
}, 'withFocusOutside');
exports.default = _default;
//# sourceMappingURL=index.native.js.map