UNPKG

@atlaskit/button

Version:

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

61 lines (60 loc) 2.87 kB
import React from 'react'; import Button from '../new-button/variants/default/button'; import { type LinkButtonProps } from '../new-button/variants/default/link'; import { type IconButtonProps } from '../new-button/variants/icon/button'; import { type LinkIconButtonProps } from '../new-button/variants/icon/link'; import { buttonAppearances, iconButtonAppearances, linkButtonAppearances } from './appearances'; import { buttonSpacing, iconButtonSpacing } from './spacing'; type IconButtonShape = 'default' | 'circle'; export declare const iconButtonShapes: IconButtonShape[]; type DefaultButtonVariant = { name: 'Button'; Component: typeof Button; elementType: typeof HTMLButtonElement; appearances: typeof buttonAppearances; spacing: typeof buttonSpacing; }; type LinkButtonVariant = { name: 'LinkButton'; Component: typeof LinkButtonRender; elementType: typeof HTMLAnchorElement; appearances: typeof linkButtonAppearances; spacing: typeof buttonSpacing; }; type IconButtonVariant = { name: 'IconButton'; Component: typeof IconButtonRender; elementType: typeof HTMLButtonElement; appearances: typeof iconButtonAppearances; spacing: typeof iconButtonSpacing; shape: typeof iconButtonShapes; }; type LinkIconButtonVariant = { name: 'LinkIconButton'; Component: typeof LinkIconButtonRender; elementType: typeof HTMLAnchorElement; appearances: typeof iconButtonAppearances; spacing: typeof iconButtonSpacing; shape: typeof iconButtonShapes; }; type DefaultButtonVariants = DefaultButtonVariant | LinkButtonVariant; type LinkButtonVariants = LinkButtonVariant | LinkIconButtonVariant; type IconButtonVariants = IconButtonVariant | LinkIconButtonVariant; export type Variant = DefaultButtonVariant | LinkButtonVariant | IconButtonVariant | LinkIconButtonVariant; declare const LinkButtonRender: React.ForwardRefExoticComponent<React.PropsWithoutRef<Omit<LinkButtonProps, 'href'> & { href?: LinkButtonProps['href']; }> & React.RefAttributes<HTMLAnchorElement>>; declare const IconButtonRender: React.ForwardRefExoticComponent<React.PropsWithoutRef<Omit<IconButtonProps, 'icon' | 'label'> & { icon?: IconButtonProps['icon']; label?: IconButtonProps['label']; }> & React.RefAttributes<HTMLButtonElement>>; declare const LinkIconButtonRender: React.ForwardRefExoticComponent<React.PropsWithoutRef<Omit<LinkIconButtonProps, 'href' | 'icon' | 'label'> & { href?: LinkIconButtonProps['href']; icon?: LinkIconButtonProps['icon']; label?: LinkIconButtonProps['label']; }> & React.RefAttributes<HTMLAnchorElement>>; declare const variants: Variant[]; export declare const defaultButtonVariants: DefaultButtonVariants[]; export declare const linkButtonVariants: LinkButtonVariants[]; export declare const iconButtonVariants: IconButtonVariants[]; export default variants;