Import
import { CopyButton } from '@contentful/f36-components';// orimport { CopyButton } from '@contentful/f36-copybutton';
Examples
Basic
Changing the tooltip
You can modify tooltip text and its placement by using the following properties: tooltipCopiedText
, tooltipText
and tooltipProps
.
To read more about all possible values of tooltipProps
object, refer to Tooltip documentation.
Using with TextInput
Using with promises
Sometimes you want to await a Promise before know the value to copy to the clipboard. You can do this in the code where the copy button is implemented.
Accessibility
You can pass a custom aria-label
through the label
prop.
Props (API reference)
Open in StorybookName | Type | Default |
---|---|---|
value required | string Value that will be copied to clipboard when the button is clicked | |
as | HTML Tag or React Component (e.g. div, span, etc) The element used for the root node. | button |
children | ReactNode | |
className | string CSS class to be appended to the root element | |
css | string number false true ComponentSelector Keyframes SerializedStyles ArrayInterpolation<undefined> ObjectInterpolation<undefined> (theme: any) => Interpolation<undefined> | |
isActive | false true Applies active styles | false |
isDisabled | false true Allows to disable the copy button, when true the tooltip would not be shown | false |
isFullWidth | false true Forces button to take 100% of the container | |
isLoading | false true Adds loading indicator icon and disables interactions | |
label | string Label to be used on aria-label for the button | Copy to clipboard |
onCopy | (string: any) => void Function that gets called when the button is clicked | |
size | "small" "medium" Allows setting size of the copy button to small | medium |
startIcon | ReactElement<any, string | JSXElementConstructor<any>> Expects any of the icon components. Renders the icon aligned to the start | |
testId | string A [data-test-id] attribute used for testing purposes | |
tooltipCopiedText | string Text to be shown when the button is clicked | Copied! |
tooltipProps | Omit<TooltipProps, "children" | "content"> Props that are passed to the tooltip component | |
tooltipText | string Text to be shown when button is hovered or focused | Copy to clipboard |
variant | "negative" "positive" "primary" "secondary" "transparent" Determines style variation of Button component | secondary |