Calendar
StableGrade de datas para escolher um dia, um período ou várias datas. Composto sobre React DayPicker 10, cuja API é a do componente: `mode` single, range ou multiple, `disabled` com matchers, `captionLayout="dropdown"` para mês e ano, `numberOfMonths`, números de semana. Mantém os padrões do Coss — dias dos meses vizinhos visíveis e modo single — e traduz pelo `locale` do DayPicker, que nomeia meses, dias da semana, cada dia e as setas. `classNames`, `formatters` e `components` passados somam aos padrões em vez de substituí-los. Use para escolher data dentro de uma página ou de um Popover; para ler uma agenda de entregas por mês, use Roadmap Calendar.
Instalação
npx up-web-ds add calendarGera chevron-left, chevron-right, chevrons-up-down para a biblioteca de ícones do projeto (components.json → iconLibrary).
Preview
Basic
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Localized
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
Entrega em quinta-feira, 1 de outubro.
Range
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
4 de out. a 8 de out. · 4 noites.
Multiple
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
2 de 3 sessões de mentoria marcadas.
Dropdowns
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
Escolha o mês e o ano, depois o dia.
Disabled Days
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
Visitas só em dias úteis, a partir de hoje.
Week Numbers
| seg | ter | qua | qui | sex | sab | dom | |
|---|---|---|---|---|---|---|---|
| 40 | |||||||
| 41 | |||||||
| 42 | |||||||
| 43 | |||||||
| 44 | |||||||
| 45 |
Escolha o dia da revisão da sprint.
Date Picker
Date Range Picker
Two Month Range Picker
Escolha a data de entrada e a de saída.
Birth Date Picker
Appointment Date Picker
Atendimento de segunda a sexta, a partir de hoje.
Multiple Date Picker
0 de 5 dias escolhidos.
Date Range Picker With Presets
Typed Date Picker
Digite a data ou escolha no calendário.
Typed Date Range Fields
Typed Date Time Picker
All states
Basic
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Localized
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
Entrega em quinta-feira, 1 de outubro.
Range
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
4 de out. a 8 de out. · 4 noites.
Multiple
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
2 de 3 sessões de mentoria marcadas.
Dropdowns
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
Escolha o mês e o ano, depois o dia.
Disabled Days
| dom | seg | ter | qua | qui | sex | sab |
|---|---|---|---|---|---|---|
Visitas só em dias úteis, a partir de hoje.
Week Numbers
| seg | ter | qua | qui | sex | sab | dom | |
|---|---|---|---|---|---|---|---|
| 40 | |||||||
| 41 | |||||||
| 42 | |||||||
| 43 | |||||||
| 44 | |||||||
| 45 |
Escolha o dia da revisão da sprint.
Date Picker
Date Range Picker
Two Month Range Picker
Escolha a data de entrada e a de saída.
Birth Date Picker
Appointment Date Picker
Atendimento de segunda a sexta, a partir de hoje.
Multiple Date Picker
0 de 5 dias escolhidos.
Date Range Picker With Presets
Typed Date Picker
Digite a data ou escolha no calendário.
Typed Date Range Fields
Typed Date Time Picker
Usage
Props
Estende React.ComponentProps<typeof DayPicker>.
Metadata
Notas de acessibilidade
Verificado em calendar.test.tsx e em tests/e2e/calendar.spec.ts no Chromium desktop e mobile, em light e dark, com Axe sem violações WCAG 2.2 AA em todos os exemplos. Teclado: as setas de mês são botões alcançados por Tab com foco visível; a grade inteira é um único Tab stop que entra no dia selecionado (ou em hoje), as setas andam por dia e por semana pulando dias desabilitados, PageUp/PageDown trocam o mês mantendo o foco na grade, Enter e Space escolhem; em captionLayout="dropdown" mês e ano são selects nativos, com anel de foco no contorno, e a seta sem mês para onde ir fica aria-disabled e esmaecida. Leitor de tela: cada grade é nomeada pelo mês e ano, cada dia pela data completa no locale do calendário — com "Hoje" e "selecionado" no nome —, aria-selected na célula e aria-multiselectable na grade em range e multiple; a linha de iniciais dos dias da semana fica fora da árvore, porque o nome de cada dia já começa pelo dia da semana; os números de semana são rowheaders nomeados ("Semana 38"); os chevrons são aria-hidden. Com o locale ptBR do DayPicker, setas, selects e datas falam português; sem locale, o inglês padrão, e o lang da raiz acompanha. Contraste: cabeçalhos, números de semana e dias dos meses vizinhos usam muted-foreground pleno, porque a /72 do upstream reprovava 4.5:1 no light; dias desabilitados mantêm /72, isentos por serem controles desabilitados, e são também riscados. Toque verificado em 375px com emulação de toque: cada dia e cada seta mede 40x40 (36x36 a partir de sm), dois meses empilham em vez de estourar a largura, e o toque num dia o escolhe. Reduced motion verificado com prefers-reduced-motion: reduce — a única transição é o canto e o anel do dia selecionado, que não é deslocamento e permanece; o calendário não anima a troca de mês.
Classificação
- Layer
- Primitive
- Domínio
- Domain-free (compartilhado)
- Categoria
- selection
- Status
- Stable
Origem e distribuição
- Fonte
- coss registry / calendar
- Licença
- MIT
- Distribuição
- Interna
Acessibilidade
- Teclado: revisado
- Leitor de tela: revisado
- Touch: revisado
- Reduced motion: revisado
Dependências
- Pacotes
- @daypicker/react
- Ícones
- chevron-left, chevron-right, chevrons-up-down
- Construído sobre
- Nenhum
- Usado por
- Nenhum ainda