Navegar componentes
← Componentes

Calendar

MiscExemplo
Calendar permite ao usuário escolher uma data ou intervalo de datas em uma grade mensal. Use-o em fluxos de reserva, UIs de agendamento, filtros de data ou em qualquer lugar em que o usuário precise ver datas adjacentes para contexto.
Importação
import {Calendar} from '@pharos-ds/core/Calendar';

Exemplos

Área interativa

numberOfMonths
hasWeekNumbers
hasOutsideDays
July 2026
Su
Mo
Tu
We
Th
Fr
Sa
Código
import {Calendar} from '@pharos-ds/core/Calendar';

<Calendar
  numberOfMonths="1"
  hasWeekNumbers={false}
  hasOutsideDays
 />

Boas práticas

  • Faça: Defina min e max para limitar a seleção a uma janela válida, como apenas datas futuras para uma reserva ou o trimestre atual para um relatório.
  • Faça: Use o modo range quando o usuário precisar escolher uma data de início e fim, como uma viagem ou solicitação de folga.
  • Faça: Use dateConstraints para desabilitar datas específicas como fins de semana ou feriados, e explique por que estão indisponíveis.
  • Faça: Mostre dois meses lado a lado quando o usuário frequentemente seleciona datas que cruzam a fronteira de um mês.
  • Evite: Use um calendar para datas distantes no passado ou futuro, como data de nascimento. Um text input é mais rápido para entrada aberta.
  • Evite: Desabilite grandes blocos de datas sem contexto. O usuário deve entender por que as datas estão indisponíveis.

Props

PropTipoPadrãoDescrição
mode'single' | 'range''single'Modo de seleção.
valueISODateString | DateRange—Valor selecionado controlado.
defaultValueISODateString | DateRange—Valor padrão não controlado.
onChangeFunction—Callback de seleção.
numberOfMonths1 | 21Número de meses a exibir.
minISODateString—Data mínima selecionável.
maxISODateString—Data máxima selecionável.
dateConstraintsArray<(date: Date) => boolean>—Funções de restrição personalizadas.
focusDateISODateString—Mês visível controlado.
onFocusDateChange(focusDate: ISODateString) => void—Callback de navegação.
handleRefReact.Ref<CalendarHandle>—Handle imperativo para navegação do calendar, incluindo navigateTo().
hasOutsideDaysbooleantrueMostra dias de meses adjacentes.
hasWeekNumbersbooleanfalseMostra números de semana ISO.
hasVariableRowCountbooleanfalseGrade com número variável vs fixo de 6 linhas.
weekStartsOn0 | 1 | 2 | 3 | 4 | 5 | 6 | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'0Primeiro dia da semana. Aceita um número (0=domingo) ou um nome de dia com três letras (ex.: "mon").
Pacote: @pharos-ds/core · Import: @pharos-ds/core/Calendar
Calendar · Pharos