import React, { FC } from 'react'; import { IconPropsStrict } from '../Icon'; /** * Button properties */ export interface ButtonPropsStrict { /** Button Color */ color?: 'primary' | 'blue' | 'default' | 'grey' | 'negative' | 'red'; /** Additional classes */ className?: string; /** Disabled button, unclickable */ disabled?: boolean; /** Set the component HTML element. Warning: Using non-standard markup can produce accessibility issues. */ el?: 'button' | 'a' | 'span'; /** Button Type. 'none' is deprecated, use 'subtle' instead. */ fill?: 'solid' | 'outline' | 'none' | 'subtle'; /** Shortcut for `width="full"` */ full?: boolean; /** URL for Button. Turns into `` tag. */ href?: string; /** Custom Icon element. Use `iconName` to use default element. */ icon?: React.ReactElement; /** Name of Icon to be inside Button. Use `icon` to pass a custom element. */ iconName?: IconPropsStrict['name']; /** Position the icon */ iconPosition?: 'left' | 'right'; /** Unclicable button */ inactive?: boolean; /** Shortcut for `size="large"` */ large?: boolean; /** Button with loading indicator */ loading?: boolean; /** Shortcut for `color="negative"` */ negative?: boolean; /** Shortcut for `fill="outline"` */ outline?: boolean; /** Shortcut for `color="primary"` */ primary?: boolean; /** Selected State */ selected?: boolean; /** Button Size */ size?: 'xsmall' | 'small' | 'medium' | 'large'; /** Shortcut for `size="small"` */ small?: boolean; /** Deprecated. Shortcut for `fill="subtle"` */ text?: boolean; /** Button Width */ width?: string | number | 'auto' | 'full'; /** Shortcut for `size="small"` */ xsmall?: boolean; } export interface ButtonProps extends ButtonPropsStrict { /** Unstrict Props */ [propName: string]: any; } /** * **Buttons** provide a possible user actions */ export declare const Button: FC;