Button — dir/ui
A button with emphasis, size, and disabled states.
# Button
A button with emphasis, size, and disabled states.
## Install
```sh
npx shadcn@4.21.0 add lr-run/dir-ui/button#v0.1.2
```
[Registry item with source and dependencies](https://github.com/lr-run/dir-ui/blob/v0.1.2/registry.json)
Requires React 19, Tailwind CSS 4 and shadcn initialized with Base UI. Registry target placeholders resolve through components.json: @ui, @components, @hooks and @lib. Imports below use the conventional @/ prefix for illustration; the CLI rewrites them to your configured aliases. Shared components are installed once through registryDependencies. Theme CSS is imported by the UI modules. Existing files are never forcibly overwritten; review CLI conflicts before accepting changes. No Dir runtime is required.
## Button
```tsx
import { Button } from '@/components/ui/button.tsx'
```
| Prop | Type | Default / required | Notes |
| --- | --- | --- | --- |
| variant | 'default' \| 'outline' \| 'secondary' \| 'ghost' \| 'destructive' \| 'link' | 'secondary' | |
| size | 'default' \| 'xs' \| 'sm' \| 'lg' \| 'icon' \| 'icon-xs' \| 'icon-sm' \| 'icon-lg' | 'default' | |
| children | ReactNode | — | |
| disabled | boolean | false | |
| type | 'button' \| 'submit' \| 'reset' | 'button' | |
| onClick | MouseEventHandler | — | |
| label | string | Required | Accessible name for IconButton. |
Inherits shadcn Button props, including ref, className, and aria-* attributes.