Pular para o conteúdo

DocsNavegaçãoCalendário

Navegação

Calendário

Mês com escolha de intervalo: clique no início, passe o mouse pra ver o trecho e clique no fim.

data-u="calendar"

Exemplo

Instalação

Calendário vem no pacote completo, em unslop.css e unslop.js:

curl -fsSL unslop.leallabs.dev/i | sh

Um bloco pronto que usa calendário:

curl -fsSL unslop.leallabs.dev/i | sh -s add wall-calendar

Sem build O add por nome serve pra gráficos e blocos. Componentes com JS moram em unslop.js, que monta sozinho todo data-u da página.

Props

Vão em data-u-props, como JSON.

PropTipoPadrãoO que faz
yearnumber2026Ano que abre.
monthnumber6Mês que abre, contando de 0 (0 é janeiro, 6 é julho).
start[ano, mês, dia][2026, 6, 7]Início do intervalo. Mês também conta de 0.
end[ano, mês, dia][2026, 6, 14]Fim do intervalo.

Acessibilidade e teclado

Estado e papéis

OndeAtributoO que diz
graderole="grid", role="columnheader", role="gridcell"Dias são botões dentro da grade.
dias das pontasaria-selected="true"Início e fim do intervalo.
título do mêsaria-live="polite"Anuncia o mês ao trocar.
setas do mêsaria-label"Mês anterior" e "Próximo mês".

Teclado

TeclaFaz
Tabanda pelos dias e botões
Enter ou Espaçoescolhe o dia

Eventos e API

EventodetailQuando
u:apply{ start: Date, end: Date }Ao clicar em Aplicar com um intervalo escolhido.

Todo evento sobe pela página (bubbles). Escute no próprio elemento: el.addEventListener("u:apply", (e) => e.detail).

Digite pra buscar. Setas escolhem, Enter abre.