@formant/ava-react
Version:
React components of AVA.
55 lines (54 loc) • 1.86 kB
JavaScript
import React from 'react';
import { CopyOutlined, MoreOutlined } from '@ant-design/icons';
import { Button, Tooltip, Dropdown } from 'antd';
import { INSIGHT_CARD_PREFIX_CLS } from "../constants";
import { IconButton } from "../styled/iconButton";
export var BaseIconButton = function BaseIconButton(_ref) {
var icon = _ref.icon,
onClick = _ref.onClick,
description = _ref.description;
return /*#__PURE__*/React.createElement(Tooltip, {
title: description,
overlayClassName: "".concat(INSIGHT_CARD_PREFIX_CLS, "-icon-button-tooltip"),
overlayStyle: {
fontSize: '12px'
}
}, /*#__PURE__*/React.createElement(IconButton, null, /*#__PURE__*/React.createElement(Button, {
icon: icon,
className: "".concat(INSIGHT_CARD_PREFIX_CLS, "-icon-button"),
onClick: onClick,
type: "text",
size: "small"
})));
};
/** default tool for copy */
var defaultCopyButton = function defaultCopyButton() {
return {
type: 'copy',
description: 'copy',
icon: /*#__PURE__*/React.createElement(CopyOutlined, null)
};
};
export var defaultMoreButton = function defaultMoreButton() {
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var items = props.items,
onClick = props.onClick;
return {
type: 'others',
description: '',
icon: /*#__PURE__*/React.createElement(Dropdown, {
menu: {
items: items,
onClick: onClick
}
}, /*#__PURE__*/React.createElement(MoreOutlined, null))
};
};
export var getDefaultTool = function getDefaultTool(type) {
var _toolsFunctionMap$typ;
var toolsFunctionMap = {
copy: defaultCopyButton,
others: defaultMoreButton
};
return (_toolsFunctionMap$typ = toolsFunctionMap[type]) === null || _toolsFunctionMap$typ === void 0 ? void 0 : _toolsFunctionMap$typ.call(toolsFunctionMap);
};