You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
783 B
31 lines
783 B
import { Command } from 'gg-editor';
|
|
import React from 'react';
|
|
import { Tooltip } from 'antd';
|
|
import IconFont from '../../common/IconFont';
|
|
import styles from './index.less';
|
|
|
|
const upperFirst = (str: string) =>
|
|
str.toLowerCase().replace(/( |^)[a-z]/g, (l: string) => l.toUpperCase());
|
|
|
|
type ToolbarButtonProps = {
|
|
command: string;
|
|
icon?: string;
|
|
text?: string;
|
|
};
|
|
const ToolbarButton: React.FC<ToolbarButtonProps> = (props) => {
|
|
const { command, icon, text } = props;
|
|
|
|
return (
|
|
<Command name={command}>
|
|
<Tooltip
|
|
title={text || upperFirst(command)}
|
|
placement="bottom"
|
|
overlayClassName={styles.tooltip}
|
|
>
|
|
<IconFont type={`icon-${icon || command}`} />
|
|
</Tooltip>
|
|
</Command>
|
|
);
|
|
};
|
|
|
|
export default ToolbarButton;
|
|
|