primitives/@yashiel/mihcm-ui·v0.1.0·stable

Button

Primary action affordance. Six variants, four sizes. Universal across web and native.

Default

import { Button } from '@yashiel/mihcm-ui/Button';
 
<Button>Save changes</Button>

Destructive confirmation

For actions that destroy data — pair with a confirm dialog.

<Button variant="destructive" onClick={handleDelete}>
  Delete account
</Button>

With leading icon

import { Button } from '@yashiel/mihcm-ui/Button';
import { Plus } from '@yashiel/mihcm-icons';
 
<Button leadingIcon={<Plus className="size-4" />}>
  New project
</Button>

Loading state

isLoading sets aria-busy and disables interaction without changing the layout.

<Button isLoading>Saving…</Button>

Sizes

<Button size="sm">Small</Button>
<Button size="md">Medium</Button>
<Button size="lg">Large</Button>

All variants together

<div className="flex flex-wrap gap-2">
  <Button variant="default">Default</Button>
  <Button variant="destructive">Destructive</Button>
  <Button variant="outline">Outline</Button>
  <Button variant="secondary">Secondary</Button>
  <Button variant="ghost">Ghost</Button>
  <Button variant="link">Link</Button>
</div>