import _extends from "@babel/runtime/helpers/esm/extends"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import * as React from 'react'; import { useRef } from 'react'; import classNames from 'classnames'; import CSSMotion from 'rc-motion'; import { offset } from "../../util"; import Panel from "./Panel"; var Content = /*#__PURE__*/React.forwardRef(function (props, ref) { var prefixCls = props.prefixCls, title = props.title, style = props.style, className = props.className, visible = props.visible, forceRender = props.forceRender, destroyOnClose = props.destroyOnClose, motionName = props.motionName, ariaId = props.ariaId, onVisibleChanged = props.onVisibleChanged, mousePosition = props.mousePosition; var dialogRef = useRef(); // ============================= Style ============================== var _React$useState = React.useState(), _React$useState2 = _slicedToArray(_React$useState, 2), transformOrigin = _React$useState2[0], setTransformOrigin = _React$useState2[1]; var contentStyle = {}; if (transformOrigin) { contentStyle.transformOrigin = transformOrigin; } function onPrepare() { var elementOffset = offset(dialogRef.current); setTransformOrigin(mousePosition && (mousePosition.x || mousePosition.y) ? "".concat(mousePosition.x - elementOffset.left, "px ").concat(mousePosition.y - elementOffset.top, "px") : ''); } // ============================= Render ============================= return /*#__PURE__*/React.createElement(CSSMotion, { visible: visible, onVisibleChanged: onVisibleChanged, onAppearPrepare: onPrepare, onEnterPrepare: onPrepare, forceRender: forceRender, motionName: motionName, removeOnLeave: destroyOnClose, ref: dialogRef }, function (_ref, motionRef) { var motionClassName = _ref.className, motionStyle = _ref.style; return /*#__PURE__*/React.createElement(Panel, _extends({}, props, { ref: ref, title: title, ariaId: ariaId, prefixCls: prefixCls, holderRef: motionRef, style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), style), contentStyle), className: classNames(className, motionClassName) })); }); }); Content.displayName = 'Content'; export default Content;