

<InteractiveDemo
  name="slider"
  controls="[
  {
    type: 'string',
    name: 'label',
    defaultValue: 'Volume',
  },
  {
    type: 'enum',
    name: 'orientation',
    options: ['horizontal', 'vertical'],
    defaultValue: 'horizontal',
  },
  {
    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/slider
    ```
  </CodeBlockTab>

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

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

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

## Usage [#usage]

Use slider to allow users to select a value from within a given range.

```tsx
import { Slider, SliderControl } from '@/components/ui/slider'
```

```tsx
<Slider defaultValue={50}>
  <SliderControl />
</Slider>
```

## Examples [#examples]

<Examples>
  <Example name="slider/demos/default" />

  <Example name="slider/demos/vertical" />

  <Example name="slider/demos/label" />

  <Example name="slider/demos/description" />

  <Example name="slider/demos/value-label" />

  <Example name="slider/demos/value-scale" />

  <Example name="slider/demos/step" />

  <Example name="slider/demos/format-options" />

  <Example name="slider/demos/range" />

  <Example name="slider/demos/disabled" />

  <Example name="slider/demos/composition" />

  <Example name="slider/demos/uncontrolled" />

  <Example name="slider/demos/controlled" />
</Examples>

## API Reference [#api-reference]

### Slider [#slider]

<Reference name="slider" />

### SliderControl [#slidercontrol]

<Reference name="slider-control" />

### SliderTrack [#slidertrack]

<Reference name="slider-track" />

### SliderFill [#sliderfill]

<Reference name="slider-fill" />

### SliderThumb [#sliderthumb]

<Reference name="slider-thumb" />

### SliderOutput [#slideroutput]

<Reference name="slider-output" />
