

<InteractiveDemo
  name="button"
  controls="[
  { name: 'children', type: 'string', defaultValue: 'Button' },
  'variant',
  {
    name: 'size',
    type: 'enum',
    options: ['xs', 'sm', 'md', 'lg'],
    defaultValue: 'md',
  },
  'isDisabled',
  'isPending',
]"
/>

## Installation [#installation]

<CodeBlockTabs defaultValue="npm">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="npm">
      npm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="pnpm">
      pnpm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="yarn">
      yarn
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="bun">
      bun
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="npm">
    ```bash
    npx shadcn@latest add @dotui/button
    ```
  </CodeBlockTab>

  <CodeBlockTab value="pnpm">
    ```bash
    pnpm dlx shadcn@latest add @dotui/button
    ```
  </CodeBlockTab>

  <CodeBlockTab value="yarn">
    ```bash
    yarn dlx shadcn@latest add @dotui/button
    ```
  </CodeBlockTab>

  <CodeBlockTab value="bun">
    ```bash
    bun x shadcn@latest add @dotui/button
    ```
  </CodeBlockTab>
</CodeBlockTabs>

## Usage [#usage]

Button allow users to initiate an action or command with mouse, touch or keyboard interaction.<br />
The button's label indicates the purpose of the action to the user. You may also include an icon for additional context.

```tsx
import { Button } from '@dotui/registry/ui/button'
```

```tsx
<Button>Button</Button>
```

## Examples [#examples]

<Examples className="grid-cols-2 md:grid-cols-3">
  <Example name="button/demos/default" title="Default" />

  <Example name="button/demos/variants" title="Variants" />

  <Example name="button/demos/sizes" title="Sizes" />

  <Example name="button/demos/shapes" title="Shapes" />

  <Example name="button/demos/prefix-and-suffix" title="Prefix and Suffix" />

  <Example name="button/demos/loading" title="Loading" />

  <Example name="button/demos/disabled" title="Disabled" />

  <Example name="button/demos/link-button" title="Link Button" />
</Examples>

## API Reference [#api-reference]

### Button [#button]

<Reference name="button" />

### LinkButton [#linkbutton]

<Reference name="link-button" />
