43 lines
1.5 KiB
JavaScript
43 lines
1.5 KiB
JavaScript
import React from 'react';
|
|
import classNames from 'classnames';
|
|
// @ts-ignore
|
|
import { Button, Tooltip } from "../../..";
|
|
import { IconFont as Icon } from '@zhst/icon';
|
|
import "./index.less";
|
|
var componentName = "zhst-image__btn-group";
|
|
export var BtnGroup = function BtnGroup(props) {
|
|
var dataSource = props.dataSource,
|
|
_onClick = props.onClick,
|
|
className = props.className,
|
|
circle = props.circle,
|
|
_props$selectKey = props.selectKey,
|
|
selectKey = _props$selectKey === void 0 ? '' : _props$selectKey,
|
|
_props$placement = props.placement,
|
|
placement = _props$placement === void 0 ? 'right' : _props$placement;
|
|
return /*#__PURE__*/React.createElement("div", {
|
|
className: classNames(componentName, circle && "".concat(componentName, "--circle"), className)
|
|
}, dataSource.map(function (_ref) {
|
|
var key = _ref.key,
|
|
icon = _ref.icon,
|
|
title = _ref.title;
|
|
var isSelect = key === selectKey;
|
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
key: key,
|
|
placement: placement,
|
|
title: title
|
|
}, /*#__PURE__*/React.createElement("div", {
|
|
key: key,
|
|
className: classNames("".concat(componentName, "__item"), isSelect && "".concat(componentName, "__item--active"))
|
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
type: "text",
|
|
onClick: function onClick(e) {
|
|
_onClick(key, e);
|
|
}
|
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
size: 18,
|
|
icon: icon
|
|
}))));
|
|
}));
|
|
};
|
|
BtnGroup.displayName = 'BtnGroup';
|
|
export default BtnGroup; |