/// import { ITooltipProps } from '../../TooltipEx'; export interface IClipboardButtonProps { /** * Aria label to pass to button * @default "Copy to clipboard" */ ariaLabel?: string; /** * Optional CSS class name to add to Clipboard Button */ className?: string; /** * Callback provided when the button looses the focus. */ onBlur?: () => void; /** * Callback provided after a copy is finished. */ onCopy?: () => void; /** * Callback provided when the button gets the focus. */ onFocus?: (e: React.FocusEvent) => void; /** * Function to retreive the text that will be copied to the clipboard. * This function can return either a plain text string, a new JSX.Element * with the HTML to copy, or an HTMLexisting DOM Element. */ getContent: () => string | JSX.Element | HTMLElement; /** * If set to true, the tooltip will be changed to "Copied to Clipboard" when * the button is clicked. * If a string is provided the tooltip will be changed to the string instead. */ showCopiedTooltip?: boolean | string; /** * Set to true to style this as a subtle button. */ subtle?: boolean; /** * Optional tooltip to show when the button is hovered. */ tooltipProps?: ITooltipProps; /** * Callback to handle mouse leave events. */ onMouseLeave?: (event: React.MouseEvent) => void; }