mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-02 15:27:18 +00:00
114 lines
3.8 KiB
JavaScript
114 lines
3.8 KiB
JavaScript
import _extends from 'babel-runtime/helpers/extends';
|
|
import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
|
|
import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
|
|
import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
|
|
import _inherits from 'babel-runtime/helpers/inherits';
|
|
|
|
var _class, _temp;
|
|
|
|
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import classNames from 'classnames';
|
|
import { func, obj } from '../util';
|
|
import Icon from '../icon';
|
|
import zhCN from '../locale/zh-cn';
|
|
import { normalMap, edgeMap } from './alignMap';
|
|
|
|
/**
|
|
* Created by xiachi on 17/2/10.
|
|
*/
|
|
|
|
var noop = func.noop;
|
|
var BalloonInner = (_temp = _class = function (_React$Component) {
|
|
_inherits(BalloonInner, _React$Component);
|
|
|
|
function BalloonInner() {
|
|
_classCallCheck(this, BalloonInner);
|
|
|
|
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
|
|
}
|
|
|
|
BalloonInner.prototype.render = function render() {
|
|
var _classNames;
|
|
|
|
var _props = this.props,
|
|
prefix = _props.prefix,
|
|
closable = _props.closable,
|
|
className = _props.className,
|
|
style = _props.style,
|
|
isTooltip = _props.isTooltip,
|
|
align = _props.align,
|
|
type = _props.type,
|
|
onClose = _props.onClose,
|
|
alignEdge = _props.alignEdge,
|
|
children = _props.children,
|
|
rtl = _props.rtl,
|
|
locale = _props.locale,
|
|
others = _objectWithoutProperties(_props, ['prefix', 'closable', 'className', 'style', 'isTooltip', 'align', 'type', 'onClose', 'alignEdge', 'children', 'rtl', 'locale']);
|
|
|
|
var alignMap = alignEdge ? edgeMap : normalMap;
|
|
var _prefix = prefix;
|
|
|
|
if (isTooltip) {
|
|
_prefix = _prefix + 'balloon-tooltip';
|
|
} else {
|
|
_prefix = _prefix + 'balloon';
|
|
}
|
|
|
|
var classes = classNames((_classNames = {}, _classNames['' + _prefix] = true, _classNames[_prefix + '-' + type] = type, _classNames[_prefix + '-medium'] = true, _classNames[_prefix + '-' + alignMap[align].arrow] = alignMap[align], _classNames[_prefix + '-closable'] = closable, _classNames[className] = className, _classNames));
|
|
|
|
return React.createElement(
|
|
'div',
|
|
_extends({
|
|
role: 'tooltip',
|
|
'aria-live': 'polite',
|
|
dir: rtl ? 'rtl' : undefined,
|
|
className: classes,
|
|
style: style
|
|
}, obj.pickOthers(Object.keys(BalloonInner.propTypes), others)),
|
|
children,
|
|
closable ? React.createElement(
|
|
'a',
|
|
{
|
|
role: 'button',
|
|
'aria-label': locale.close,
|
|
tabIndex: '0',
|
|
className: _prefix + '-close',
|
|
onClick: onClose
|
|
},
|
|
React.createElement(Icon, { type: 'close', size: 'small' })
|
|
) : null
|
|
);
|
|
};
|
|
|
|
return BalloonInner;
|
|
}(React.Component), _class.contextTypes = {
|
|
prefix: PropTypes.string
|
|
}, _class.propTypes = {
|
|
prefix: PropTypes.string,
|
|
rtl: PropTypes.bool,
|
|
closable: PropTypes.bool,
|
|
children: PropTypes.any,
|
|
className: PropTypes.string,
|
|
alignEdge: PropTypes.bool,
|
|
onClose: PropTypes.func,
|
|
style: PropTypes.any,
|
|
align: PropTypes.string,
|
|
type: PropTypes.string,
|
|
isTooltip: PropTypes.bool,
|
|
locale: PropTypes.object,
|
|
pure: PropTypes.bool
|
|
}, _class.defaultProps = {
|
|
prefix: 'next-',
|
|
closable: true,
|
|
onClose: noop,
|
|
locale: zhCN.Balloon,
|
|
align: 'b',
|
|
type: 'normal',
|
|
alignEdge: false,
|
|
pure: false
|
|
}, _temp);
|
|
BalloonInner.displayName = 'BalloonInner';
|
|
|
|
|
|
export default BalloonInner; |