choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
39 lines (32 loc) • 1.21 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
import React, { useEffect, useRef } from 'react';
var TextFieldGroup = function TextFieldGroup(_ref) {
var prefixCls = _ref.prefixCls,
onBlur = _ref.onBlur,
children = _ref.children,
otherProps = _objectWithoutProperties(_ref, ["prefixCls", "onBlur", "children"]);
var ref = useRef(null);
useEffect(function () {
var current = ref.current;
if (current && onBlur) {
var handleMousedown = function handleMousedown(e) {
var target = e.target;
if (!e.defaultPrevented && !current.contains(target)) {
onBlur(e);
}
};
document.addEventListener('mousedown', handleMousedown, false);
return function () {
document.removeEventListener('mousedown', handleMousedown, false);
};
}
}, [onBlur, ref]);
return React.createElement("div", _extends({
ref: ref,
className: "".concat(prefixCls, "-group-wrapper")
}, otherProps), children);
};
TextFieldGroup.displayName = 'TextFieldGroup';
export default TextFieldGroup;
//# sourceMappingURL=TextFieldGroup.js.map