Skip to main content

Range

Apresentação

O componente Range é responsável por criar um controle deslizante (slider) que permite aos usuários selecionar um valor dentro de um intervalo específico. É ideal para ajustes de valores numéricos, como volume, brilho, preço ou qualquer outra configuração que precise de um valor dentro de um range.

Quando usar

  • Para ajuste de valores numéricos
  • Para seleção de faixas de preço
  • Para controle de volume
  • Para ajuste de brilho
  • Para seleção de níveis
  • Para configuração de intensidade
  • Para ajuste de zoom
  • Para seleção de tamanhos
  • Para controle de velocidade
  • Para ajuste de qualidade

Forma básica de uso

import { Range } from 'eitri-luminus';

// Range básico
<Range min={0} max={100} />

// Range com valor inicial
<Range
min={0}
max={100}
defaultValue={50}
/>

// Range com step
<Range
min={0}
max={100}
step={10}
/>

// Range com classes personalizadas
<Range
min={0}
max={100}
className="range-primary"
/>

// Range desabilitado
<Range
min={0}
max={100}
disabled
/>

// Range com evento onChange
<Range
min={0}
max={100}
onChange={(e) => console.log(e.target.value)}
/>

// Range com valor controlado
const [value, setValue] = useState(50);
<Range
min={0}
max={100}
value={value}
onChange={(e) => setValue(Number(e.target.value))}
/>

// Range com label
<div className="flex flex-col gap-2">
<label htmlFor="volume">Volume</label>
<Range
id="volume"
min={0}
max={100}
defaultValue={50}
/>
<span>{value}%</span>
</div>

Propriedades

PropriedadeTipoDescrição
minnumberValor mínimo do range
maxnumberValor máximo do range
stepnumberIncremento entre valores
valuenumberValor atual (controlado)
defaultValuenumberValor inicial
disabledbooleanDesabilita o range
onChangefunctionFunção chamada quando o valor muda
classNamestringClasses CSS adicionais
idstringIdentificador único do componente

Heranças

O componente Range herda todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente usa a classe 'range' para estilização base
  • É possível personalizar a aparência usando classes do Tailwind
  • O componente é responsivo por padrão
  • Mantém a semântica HTML apropriada
  • Suporta estados controlados e não controlados
  • Pode ser desabilitado
  • Suporta eventos de mudança
  • Pode ser estilizado com diferentes cores
  • Mantém a acessibilidade por padrão
  • Pode ser usado em formulários
  • Suporta diferentes tamanhos
  • Pode ser combinado com labels
  • Suporta valores numéricos
  • Pode ser usado em layouts flexíveis