onecart-ui
Version:
OneCart UI: Cross-platform design tokens + React & React Native components
25 lines (24 loc) • 931 B
TypeScript
export type ButtonType = "primary" | "outline" | "ghost" | "destructive";
export type ButtonSize = "large" | "small";
export type ButtonState = "default" | "hover" | "active" | "disabled";
export interface ButtonProps {
label: string;
type?: ButtonType;
size?: ButtonSize;
disabled?: boolean;
leftIcon?: string;
rightIcon?: string;
icon?: string;
fullWidth?: boolean;
ghostUnderline?: boolean;
accessibilityLabel?: string;
testID?: string;
className?: string;
style?: React.CSSProperties | Record<string, unknown>;
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
onPress?: () => void;
onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
onMouseDown?: (e: React.MouseEvent<HTMLButtonElement>) => void;
onMouseUp?: (e: React.MouseEvent<HTMLButtonElement>) => void;
}