welcome-ui
Version:
Customizable design system with react • styled-components • styled-system and ariakit.
27 lines (26 loc) • 1.35 kB
TypeScript
import { CreateWuiProps } from '../System';
import { Size, Variant } from './theme';
export interface ButtonOptions {
/** AI button with 3 variants: primary / tertiary / ghost */
ai?: boolean;
/**
* Danger button with 3 variants: primary / tertiary / ghost
* Take precedence hover the AI prop
*/
danger?: boolean;
disabled?: boolean;
isLoading?: boolean;
shape?: 'circle' | 'square';
size?: Size;
variant?: Variant;
}
export type ButtonProps = CreateWuiProps<'button', ButtonOptions>;
/**
* @tag button
*/
export declare const Button: import('../System').CreateWuiComponent<"button", ButtonProps>;
export declare const StyledButton: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('@ariakit/react').ButtonOptions<"button"> & Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
ref?: import('react').Ref<HTMLButtonElement>;
}, keyof import('@ariakit/react').ButtonOptions<T>> & {
[index: `data-${string}`]: unknown;
}, ButtonOptions>> & string & Omit<(props: import('@ariakit/react').ButtonProps) => import('react').ReactElement<any, string | import('react').JSXElementConstructor<any>>, keyof import('react').Component<any, {}, any>>;