@primer/components
Version:
Primer react components
33 lines (32 loc) • 1.14 kB
TypeScript
import React, { HTMLAttributes } from 'react';
import { IconProps } from '@primer/octicons-react';
import { SxProp } from '../sx';
export declare type VariantType = 'default' | 'primary' | 'invisible' | 'danger' | 'outline';
export declare type Size = 'small' | 'medium' | 'large';
export declare type ButtonProps = {
/**
* Determine's the styles on a button one of 'default' | 'primary' | 'invisible' | 'danger'
*/
variant?: VariantType;
/**
* Size of button and fontSize of text in button
*/
size?: Size;
/**
* This is to be used if it is an icon-only button. Will make text visually hidden
*/
icon?: React.FunctionComponent<IconProps>;
/**
* The leading icon comes before button content
*/
leadingIcon?: React.FunctionComponent<IconProps>;
/**
* The trailing icon comes after button content
*/
trailingIcon?: React.FunctionComponent<IconProps>;
/**
* Items that are disabled can not be clicked, selected, or navigated through.
*/
disabled?: boolean;
children: React.ReactNode;
} & SxProp & HTMLAttributes<HTMLButtonElement>;