Enhance CopyButton component to support customizable button type

- Added a new 'type' prop to the CopyButton component, allowing users to specify the button type.
- Updated the component's prop types to include the new 'type' prop for better type checking and documentation.
- Improved code readability by restructuring the component's props definition.
This commit is contained in:
Tom Butcher 2025-08-18 01:00:11 +01:00
parent b45df50da5
commit b74a4bb174

View File

@ -3,7 +3,12 @@ import PropTypes from 'prop-types'
import { Button, Tooltip, message } from 'antd' import { Button, Tooltip, message } from 'antd'
import CopyIcon from '../../Icons/CopyIcon' import CopyIcon from '../../Icons/CopyIcon'
const CopyButton = ({ text, tooltip = 'Copy', size = 'small' }) => { const CopyButton = ({
text,
tooltip = 'Copy',
size = 'small',
type = 'text'
}) => {
const [messageApi, contextHolder] = message.useMessage() const [messageApi, contextHolder] = message.useMessage()
const doCopy = (copyText) => { const doCopy = (copyText) => {
@ -49,7 +54,7 @@ const CopyButton = ({ text, tooltip = 'Copy', size = 'small' }) => {
style={{ minWidth: 25 }} style={{ minWidth: 25 }}
width={20} width={20}
size={size} size={size}
type={'text'} type={type}
onClick={() => doCopy(text)} onClick={() => doCopy(text)}
/> />
</Tooltip> </Tooltip>
@ -61,7 +66,8 @@ CopyButton.propTypes = {
text: PropTypes.string.isRequired, text: PropTypes.string.isRequired,
style: PropTypes.object, style: PropTypes.object,
tooltip: PropTypes.string, tooltip: PropTypes.string,
size: PropTypes.string size: PropTypes.string,
type: PropTypes.string
} }
export default CopyButton export default CopyButton