UNPKG

@atlaskit/button

Version:

A button triggers an event or action. They let users know what will happen next.

23 lines (22 loc) 866 B
import { type CSSObject } from '@emotion/react'; import { type ThemeModes } from '@atlaskit/theme/types'; import { type BaseProps } from '../types'; export type ThemeTokens = { buttonStyles: CSSObject; spinnerStyles: CSSObject; }; export type InteractionState = 'disabled' | 'focusSelected' | 'selected' | 'active' | 'hover' | 'focus' | 'default'; export type CustomThemeButtonOwnProps = { isLoading?: boolean; /** * Slow + discouraged custom theme API * See custom theme guide for usage details */ theme?: (current: (props: ThemeProps) => ThemeTokens, props: ThemeProps) => ThemeTokens; }; export type CustomThemeButtonProps = Omit<BaseProps, 'overlay'> & CustomThemeButtonOwnProps; export type ThemeProps = Partial<CustomThemeButtonProps> & { state: InteractionState; iconIsOnlyChild?: boolean; mode?: ThemeModes; };