import { SizeTokenValue, QA } from '../common'; import { AnchorHTMLAttributes, ButtonHTMLAttributes, ElementType, ReactNode } from 'react'; import { CSSObject } from '@emotion/react'; import { TooltipProps } from '../Tooltip'; export declare enum ButtonVariant { Primary = "primary", Secondary = "secondary", Outlined = "outlined", Text = "text", Inner = "inner", InnerInput = "innerInput", DangerPrimary = "dangerPrimary", DangerSecondary = "dangerSecondary", DangerOutlined = "dangerOutlined", DangerText = "dangerText" } export type ButtonStyles = { /** Размер */ size: SizeTokenValue | `${SizeTokenValue}`; /** Показывать Loader */ isLoading?: boolean; /** Кастомные стили */ behavior: { /** По умолчанию */ default: CSSObject; /** При наведении */ hover: CSSObject; /** При нажатии */ active: CSSObject; /** Отключенный */ disabled: CSSObject; }; } & Pick; export type ButtonProps = { /** Вариант кнопки */ variant?: ButtonVariant | `${ButtonVariant}`; /** Всплывающая подсказка */ tooltip?: TooltipProps['content']; /** Иконка | Контент слева */ startAdornment?: ReactNode; /** Иконка | Контент справа */ endAdornment?: ReactNode; /** TagName - по умолчанию button */ as?: ElementType; } & QA & Partial & Omit, 'color'> & Omit, 'color'>; export type IconButtonProps = Omit;