///
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;
}