UI

Slider

Barra deslizante para escolher um valor numérico ou um intervalo dentro de uma faixa.

5 km

Instalação

npx shadcn@latest add @lenstech/slider

Uso

import { Slider } from "@/components/ui/slider"
<Slider label="Raio de entrega" showOutput defaultValue={5} minValue={1} maxValue={20} />

Número ou array

Passe um número em defaultValue/value para um valor único, ou um array ([50, 250]) para um intervalo com dois polegares. onChange recebe o mesmo formato (número ou array), não o evento. Use onChangeEnd para reagir só quando o usuário soltar.

Exemplos

Intervalo

Em intervalos, dê um nome a cada polegar com thumbLabels (lido pelos leitores de tela).

R$50 – R$250

Formatação

formatOptions usa Intl.NumberFormat: moeda, porcentagem ou unidades (kilometer, minute, gigabyte…), no idioma da página.

15%
45 min

Controlado

6

6x de R$ 600,00 sem juros

Vertical

60

Desabilitado

40 GB

Quando usar

  • Use para valores aproximados em uma faixa: preço, distância, duração.
  • Não use quando o valor precisa ser exato (CPF, quantidade, preço de venda) — use NumberField.
  • Não use para poucas opções nomeadas (pequeno/médio/grande) — use Radio Group.

API

Slider

Aceita todas as props do Slider do React Aria, mais:

Prop

Type

SliderThumb

Polegar arrastável, exportado para composição manual. Aceita as props do SliderThumb do React Aria.

On this page