primitives/@yashiel/mihcm-ui·v0.1.0·stable
Button
Primary action affordance. Six variants, four sizes. Universal across web and native.
Props
The full prop API for Button. Same surface in web and React Native — bundlers pick the right variant via the react-native export condition.
| Prop | Type | Default | Description | Since |
|---|---|---|---|---|
variant | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link' | 'default' | Visual variant. One primary action per region. | 0.1.0 |
size | 'sm' | 'md' | 'lg' | 'icon' | 'md' | Size scale. Use `lg` for primary mobile actions to satisfy the 44px touch-target rule. | 0.1.0 |
isLoading | boolean | false | Sets `aria-busy`. Disables interactions while loading. | 0.1.0 |
disabled | boolean | false | Standard disabled state. | 0.1.0 |
leadingIcon | ReactNode | — | Icon rendered before children. | 0.1.0 |
trailingIcon | ReactNode | — | Icon rendered after children. | 0.1.0 |
className | string | — | Additional Tailwind classes; merged with `tailwind-merge`. | 0.1.0 |
Import
import { Button } from '@yashiel/mihcm-ui/Button';