import type { GlobalProps } from '../../shared/global'; import type { ComponentChildren } from '../../shared/children'; import type { BaseClickableProps } from '../../shared/clickable'; import { ToneKeyword } from '../../shared/theming'; import { IconType } from '../../shared/icons'; export interface ButtonProps extends GlobalProps, BaseClickableProps { /** * A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers. * * Use this when using only an icon or the button text is not enough context * for users using assistive technologies. */ accessibilityLabel?: string; /** * The content of the Button. */ children?: ComponentChildren; /** * The type of icon to be displayed in the button. * * @default '' */ icon?: IconType; /** * Changes the visual appearance of the Button. * * @default 'auto' - the variant is automatically determined by the Button's context */ variant?: 'auto' | 'primary' | 'secondary' | 'tertiary'; /** * Sets the tone of the Button, based on the intention of the information being conveyed. * * @default 'auto' */ tone?: ToneKeyword; /** * Indicate the text language. Useful when the text is in a different language than the rest of the page. * It will allow assistive technologies such as screen readers to invoke the correct pronunciation. * [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) ("subtag" label) */ lang?: string; }