Overlay.js 1.1 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _ref = require("rc-util/lib/ref");
  8. var _react = _interopRequireWildcard(require("react"));
  9. var Overlay = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
  10. var overlay = props.overlay,
  11. arrow = props.arrow,
  12. prefixCls = props.prefixCls;
  13. var overlayNode = (0, _react.useMemo)(function () {
  14. var overlayElement;
  15. if (typeof overlay === 'function') {
  16. overlayElement = overlay();
  17. } else {
  18. overlayElement = overlay;
  19. }
  20. return overlayElement;
  21. }, [overlay]);
  22. var composedRef = (0, _ref.composeRef)(ref, (0, _ref.getNodeRef)(overlayNode));
  23. return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, arrow && /*#__PURE__*/_react.default.createElement("div", {
  24. className: "".concat(prefixCls, "-arrow")
  25. }), /*#__PURE__*/_react.default.cloneElement(overlayNode, {
  26. ref: (0, _ref.supportRef)(overlayNode) ? composedRef : undefined
  27. }));
  28. });
  29. var _default = exports.default = Overlay;