23 lines
665 B
TypeScript
23 lines
665 B
TypeScript
import type { ButtonHTMLAttributes, Ref } from "react";
|
|
|
|
|
|
export type ButtonRounding = "none" | "sm" | "md" | "lg" | "full";
|
|
export type ButtonShape = "rectangle" | "square";
|
|
export type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
export type ButtonVariant = "standard" | "outline" | "ghost" | "outline-ghost" | "icon";
|
|
|
|
|
|
export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size" | "type"> {
|
|
rounding?: ButtonRounding;
|
|
shape?: ButtonShape;
|
|
size?: ButtonSize;
|
|
variant?: ButtonVariant;
|
|
ref?: Ref<HTMLButtonElement>;
|
|
|
|
ariaLabel?: string;
|
|
ariaDescribedBy?: string;
|
|
ariaControls?: string;
|
|
role?: string;
|
|
tabIndex?: number;
|
|
}
|