import * as React from 'react'; 
 | 
import { Tooltip } from 'antd'; 
 | 
import classNames from 'classnames'; 
 | 
import * as AntdIcons from '@ant-design/icons'; 
 | 
import type { ThemeType } from './index'; 
 | 
import styles from './style.less'; 
 | 
  
 | 
const allIcons: { 
 | 
  [key: string]: any; 
 | 
} = AntdIcons; 
 | 
  
 | 
export interface CopyableIconProps { 
 | 
  name: string; 
 | 
  isNew: boolean; 
 | 
  theme: ThemeType; 
 | 
  justCopied: string | null; 
 | 
  onSelect: (type: string, text: string) => any; 
 | 
} 
 | 
  
 | 
const CopyableIcon: React.FC<CopyableIconProps> = ({ 
 | 
  name, 
 | 
  justCopied, 
 | 
  onSelect, 
 | 
  theme, 
 | 
}) => { 
 | 
  const className = classNames({ 
 | 
    copied: justCopied === name, 
 | 
    [theme]: !!theme, 
 | 
  }); 
 | 
  return ( 
 | 
    <li className={className} 
 | 
      onClick={() => { 
 | 
        if (onSelect) { 
 | 
          onSelect(theme, name); 
 | 
        } 
 | 
      }}> 
 | 
      <Tooltip title={name}> 
 | 
        {React.createElement(allIcons[name], { className: styles.anticon })} 
 | 
      </Tooltip> 
 | 
      {/* <span className={styles.anticonClass}> 
 | 
          <Badge dot={isNew}>{name}</Badge> 
 | 
        </span> */} 
 | 
    </li> 
 | 
  ); 
 | 
}; 
 | 
  
 | 
export default CopyableIcon; 
 |