import React from 'react'; import { ButtonVariant } from './ButtonSimpleStyles'; import buttonMixin from './mixin'; import { ComponentProps } from '../utils/types'; interface ButtonSimplePropsBase { /** Returns a value on click. Use when composing or testing. */ action?: string; /** Changes the style of the button. */ appearance?: 'default' | 'secondary' | 'primary' | 'destructive' | 'destructiveSecondary' | 'subtle' | 'standalone'; /** Removes the right border and border-radius of the button so you can * append things to it. */ append?: boolean; children?: React.ReactNode; /** * Prevents user interaction and adds disabled styling. * If set to `dimmed`, the component is able to be focused, and is more easily located. * If set to `disabled`, the disabled attribute is set which makes the component unable to be focused and more difficult to locate. * The default behavior when `disabled={true}` is `dimmed`. */ disabled?: boolean | 'dimmed' | 'disabled'; /** * Adds error styling to the button and applies `aria-invalid`. */ error?: boolean; /** * A React ref which is set to the DOM element when the component mounts and null when it unmounts. */ elementRef?: React.Ref; /** * Uses interactive styling for menu toggle behavior. */ isMenu?: boolean; /** Opens the 'to' link in a new tab. */ openInNewContext?: boolean; /** Removes the left border and border-radius of the button so you can * prepend things to it. */ prepend?: boolean; /** Identifies the url for a link. If set, Splunk UI applies an tag * instead of a