

<InteractiveDemo
  name="color-area"
  controls="[
  {
    type: 'boolean',
    name: 'isDisabled',
    defaultValue: false,
  },
]"
/>

## 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/color-area
    ```
  </CodeBlockTab>

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

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

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

## Usage [#usage]

Use color areas to allow users to select a color from a two-dimensional gradient.

```tsx
import { ColorArea } from '@/components/ui/color-area'
import { ColorThumb } from '@/components/ui/color-thumb'
```

```tsx
<ColorArea>
  <ColorThumb />
</ColorArea>
```

## Examples [#examples]

<Examples className="lg:grid-cols-2">
  <Example name="color-area/demos/default" title="Default" />

  <Example name="color-area/demos/channels" title="Channels" />

  <Example name="color-area/demos/disabled" title="Disabled" />

  <Example name="color-area/demos/uncontrolled" title="Uncontrolled" />

  <Example name="color-area/demos/controlled" title="Controlled" />
</Examples>

## API Reference [#api-reference]

### ColorArea [#colorarea]

<Reference name="color-area" />

### ColorThumb [#colorthumb]

<Reference name="color-thumb" />
