UNPKG

antd

Version:

An enterprise-class UI design language and React-based implementation

75 lines (66 loc) 2.44 kB
import _extends from 'babel-runtime/helpers/extends'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _createClass from 'babel-runtime/helpers/createClass'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; import * as React from 'react'; import Tooltip from '../tooltip'; import warning from '../_util/warning'; var Popover = function (_React$Component) { _inherits(Popover, _React$Component); function Popover() { _classCallCheck(this, Popover); var _this = _possibleConstructorReturn(this, (Popover.__proto__ || Object.getPrototypeOf(Popover)).apply(this, arguments)); _this.saveTooltip = function (node) { _this.tooltip = node; }; return _this; } _createClass(Popover, [{ key: 'getPopupDomNode', value: function getPopupDomNode() { return this.tooltip.getPopupDomNode(); } }, { key: 'getOverlay', value: function getOverlay() { var _props = this.props, title = _props.title, prefixCls = _props.prefixCls, content = _props.content; warning(!('overlay' in this.props), 'Popover[overlay] is removed, please use Popover[content] instead, ' + 'see: https://u.ant.design/popover-content'); return React.createElement( 'div', null, title && React.createElement( 'div', { className: prefixCls + '-title' }, title ), React.createElement( 'div', { className: prefixCls + '-inner-content' }, content ) ); } }, { key: 'render', value: function render() { var props = _extends({}, this.props); delete props.title; return React.createElement(Tooltip, _extends({}, props, { ref: this.saveTooltip, overlay: this.getOverlay() })); } }]); return Popover; }(React.Component); export default Popover; Popover.defaultProps = { prefixCls: 'ant-popover', placement: 'top', transitionName: 'zoom-big', trigger: 'hover', mouseEnterDelay: 0.1, mouseLeaveDelay: 0.1, overlayStyle: {} };