Pular para o conteúdo
UI

Date Picker

Seletor de data e de período, com atalhos fixos para hoje e para limpar.

Exemplos

Padrão

Label flutuante

Pequeno (size)

Tamanho pequeno com texto de ajuda

Escolha uma data no calendário

Estados no tamanho pequeno (ajuda, desabilitado, inválido)

Campo opcional
Campo desabilitado
Este campo é obrigatório

Com min/max

Com intervalo de anos personalizado

Sem seletor de ano

Com texto de ajuda

Escolha uma data no calendário

Com label flutuante e texto de ajuda

Escolha uma data no calendário

Desabilitado

Campo desabilitado

Inválido (erro)

Este campo é obrigatório

Date Range Picker

Date Range Picker pequeno (size)

Date Range Picker pequeno com texto de ajuda

Selecione o período desejado

Estados do Date Range Picker pequeno (desabilitado, inválido)

Campo desabilitado
Este campo é obrigatório

Date Range Picker com texto de ajuda

Selecione o período desejado

Date Range Picker desabilitado

Campo desabilitado

Date Range Picker inválido (erro)

Este campo é obrigatório

Teclado

Ao abrir, o foco vai para o dia selecionado (ou para hoje). Só esse dia entra na ordem do Tab: o Tab seguinte vai para o rodapé.

  • Setas para os lados: dia anterior ou seguinte.
  • Setas para cima e para baixo: mesma data na semana anterior ou seguinte.
  • Home e End: domingo e sábado da semana.
  • Enter ou Espaço: escolhe o dia focado.
  • Escape: fecha o calendário e devolve o foco ao campo.

Na borda do mês, as setas trocam o mês exibido. Elas param nos limites de min, max e yearRange.

API

DatePicker

PropriedadeTipoPadrãoDescrição
valueDate | null-Valor selecionado (controlado).
defaultValueDate | nullnullValor inicial (não controlado).
onValueChange(value: Date | null) => void-Função chamada quando o usuário escolhe ou limpa uma data.
min / maxDate-Desabilita as datas fora dos limites.
placeholderstring"Selecione uma data"Texto exibido quando nenhuma data está selecionada.
format(date: Date) => string-Função personalizada de formatação de data.
disabledbooleanfalseDesabilita o date picker.
classNamestring-Classes CSS adicionais para o container.
inputClassNamestring-Classes CSS adicionais para o botão trigger.
contentClassNamestring-Classes CSS adicionais para o conteúdo do popover do calendário.
yearRange{ start: number; end: number }{ start: 1950, end: currentYear }Intervalo de anos exibido no seletor de ano. A faixa também limita as setas de mês e o mês exibido ao abrir (um valor fora dela abre no limite mais próximo). Com o padrão, não dá para passar de dezembro do ano atual: para datas futuras, aumente end (ex.: { start: 1950, end: new Date().getFullYear() + 2 }).
showYearSelectorbooleantrueDefine se o dropdown de seleção de ano aparece. Quando false, o ano é exibido como texto estático em vez de dropdown.
invalidbooleanfalseQuando true, aplica o estilo de estado de erro ao trigger e ao DatePickerText.
size"lg" | "md""lg"Tamanho do trigger. "md" renderiza uma variante compacta, igual ao Input size="md".

DateRangePicker

PropriedadeTipoPadrãoDescrição
value{ start: Date | null; end: Date | null } | null-Período selecionado (controlado).
defaultValue{ start: Date | null; end: Date | null } | nullnullPeríodo inicial (não controlado).
onValueChange(value: { start: Date | null; end: Date | null } | null) => void-Função chamada quando o usuário escolhe ou limpa um período.
min / maxDate-Desabilita as datas fora dos limites.
placeholderstring"Selecionar período"Texto exibido quando nenhum período está selecionado.
format(date: Date) => string-Função personalizada de formatação de data.
disabledbooleanfalseDesabilita o date range picker.
classNamestring-Classes CSS adicionais para o container.
inputClassNamestring-Classes CSS adicionais para o botão trigger.
contentClassNamestring-Classes CSS adicionais para o conteúdo do popover do calendário.
yearRange{ start: number; end: number }{ start: 1950, end: currentYear }Intervalo de anos exibido no seletor de ano. A faixa também limita as setas de mês e o mês exibido ao abrir (um valor fora dela abre no limite mais próximo). Com o padrão, não dá para passar de dezembro do ano atual: para datas futuras, aumente end (ex.: { start: 1950, end: new Date().getFullYear() + 2 }).
showYearSelectorbooleantrueDefine se o dropdown de seleção de ano aparece. Quando false, o ano é exibido como texto estático em vez de dropdown.
invalidbooleanfalseQuando true, aplica o estilo de estado de erro ao trigger e ao DatePickerText.
size"lg" | "md""lg"Tamanho do trigger. "md" renderiza uma variante compacta, igual ao Input size="md".

DatePickerText

Texto de ajuda exibido abaixo do trigger do date picker. Fica com estilo de erro quando o DatePicker ou DateRangePicker pai tem invalid={true}.

PropriedadeTipoDescrição
childrenReact.ReactNodeMensagem de ajuda ou de erro. Use como filho de DatePicker ou DateRangePicker.
classNamestringClasses CSS adicionais.

DatePickerWrapper

PropriedadeTipoDescrição
classNamestringClasses CSS adicionais para o wrapper.
childrenReact.ReactNodeComponentes filhos (normalmente Label ou DatePickerLabel e DatePicker).

DatePickerLabel

PropriedadeTipoDescrição
htmlForstringAssocia o label ao id de um DatePicker.
classNamestringClasses CSS adicionais para o label.
childrenReact.ReactNodeTexto do label.