@confi/conflux-react-ui-test-package
Version:
Modern and minimalist React UI library.
37 lines (34 loc) • 1.36 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
import _JSXStyle from "styled-jsx/style";
import React, { useMemo } from 'react';
import useTheme from '../styles/use-theme';
import Tooltip from '../tooltip/tooltip';
import { getReactNode } from '../utils/collections';
var defaultProps = {
trigger: 'click',
placement: 'bottom'
};
var Popover = function Popover(_ref) {
var content = _ref.content,
children = _ref.children,
trigger = _ref.trigger,
placement = _ref.placement,
portalClassName = _ref.portalClassName,
props = _objectWithoutProperties(_ref, ["content", "children", "trigger", "placement", "portalClassName"]);
var theme = useTheme();
var textNode = useMemo(function () {
return getReactNode(content);
}, [content]);
return /*#__PURE__*/React.createElement(Tooltip, _extends({
text: textNode,
trigger: trigger,
placement: placement,
portalClassName: "popover ".concat(portalClassName)
}, props), children, /*#__PURE__*/React.createElement(_JSXStyle, {
id: "2734540621",
dynamic: [theme.layout.gapHalf]
}, ".tooltip-content.popover > .inner{padding:".concat(theme.layout.gapHalf, " 0;text-align:center;}")));
};
Popover.defaultProps = defaultProps;
export default Popover;