T2 EducaçãoMidas

Calendar

Calendário em português (react-day-picker) com células de 28px. Seleção de um dia, vários ou intervalo; vários meses; dropdown de mês e ano; dias desabilitados. Base do DatePicker.

Código-fonte

Exemplos

Interaja com o componente e copie o código de cada exemplo.

Data única

outubro 2026

Intervalo em dois meses

outubro 2026
novembro 2026
import { Calendar } from "@t2-educacao/midas";

Uso

const [data, setData] = useState<Date | undefined>(new Date());

<Calendar mode="single" selected={data} onSelect={setData} className="rounded-lg border" />

Para um campo que abre o calendário, use o DatePicker.

Props principais

Aceita todas as props do DayPicker mais:

PropTipoPadrãoDescrição
mode"single" | "multiple" | "range"Tipo de seleção
selected / onSelectValor e mudança (Date, Date[] ou DateRange)
numberOfMonthsnumber1Meses lado a lado
captionLayout"label" | "dropdown" | "dropdown-months" | "dropdown-years""label"Cabeçalho com dropdown de mês/ano
startMonth / endMonthDateLimites da navegação (necessários para o dropdown de ano)
disabledMatcherDias desabilitados (ex.: { before: new Date() })
localeptBRIdioma
showOutsideDaysbooleantrueMostra dias de outros meses esmaecidos

Exemplos

Intervalo em dois meses

const [periodo, setPeriodo] = useState<DateRange | undefined>();

<Calendar mode="range" numberOfMonths={2} selected={periodo} onSelect={setPeriodo} />

Data de nascimento (dropdown de mês e ano)

<Calendar
  mode="single"
  captionLayout="dropdown"
  startMonth={new Date(1940, 0)}
  endMonth={new Date()}
/>

Bloquear datas passadas

<Calendar mode="single" disabled={{ before: new Date() }} />

Acessibilidade

  • Navegação completa por teclado: setas, PageUp/PageDown (mês), Home/End.
  • Os dias têm nomes completos em português para leitores de tela.

On this page