amis-rpc-design/node_modules/antd/es/tooltip/PurePanel.js
2023-10-07 19:42:30 +08:00

40 lines
1.4 KiB
JavaScript

"use client";
import classNames from 'classnames';
import { Popup } from 'rc-tooltip';
import * as React from 'react';
import { ConfigContext } from '../config-provider';
import useStyle from './style';
import { parseColor } from './util';
/** @private Internal Component. Do not use in your production. */
const PurePanel = props => {
const {
prefixCls: customizePrefixCls,
className,
placement = 'top',
title,
color,
overlayInnerStyle
} = props;
const {
getPrefixCls
} = React.useContext(ConfigContext);
const prefixCls = getPrefixCls('tooltip', customizePrefixCls);
const [wrapSSR, hashId] = useStyle(prefixCls, true);
// Color
const colorInfo = parseColor(prefixCls, color);
const arrowContentStyle = colorInfo.arrowStyle;
const formattedOverlayInnerStyle = Object.assign(Object.assign({}, overlayInnerStyle), colorInfo.overlayStyle);
const cls = classNames(hashId, prefixCls, `${prefixCls}-pure`, `${prefixCls}-placement-${placement}`, className, colorInfo.className);
return wrapSSR( /*#__PURE__*/React.createElement("div", {
className: cls,
style: arrowContentStyle
}, /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-arrow`
}), /*#__PURE__*/React.createElement(Popup, Object.assign({}, props, {
className: hashId,
prefixCls: prefixCls,
overlayInnerStyle: formattedOverlayInnerStyle
}), title)));
};
export default PurePanel;