Saltar al contenido principal

Datepicker

Paquete: @tiendana/web-foundation

Estilos del campo de fecha tdn-input-date y de su calendario desplegable. En Angular los renderiza TdnInputDate; esta página documenta las clases CSS y cómo se apila el calendario sobre la página.

Características​

✅ Calendario fuera del formulario - Se aloja en document.body con posición fija
✅ Apilado coherente - Usa --z-index-dropdown, el mismo nivel que la lista de Select
✅ Posición adaptable - Debajo del campo, encima (ontop) o centrado a pantalla (fullscreen)
✅ Rango de fechas - Estilos para mostrar desde - hasta en el campo

Demo​

Campo de fecha cerrado dentro de un tdn-form-element.

Cargando demo...
Ver código

Apilado del calendario​

.tdn-input-date__dropdown tiene position: fixed y z-index: var(--z-index-dropdown) (1000). Mientras está abierto, el componente lo mueve a document.body, así que compite con el resto de la página en el mismo contexto de apilamiento que la lista de un select.

TokenValor
--z-index-dropdown1000
--z-index-modal-backdrop1040
--z-index-modal1050
No lo estilices a través del campo

Como el calendario abierto está en el body, una regla como .mi-formulario .tdn-input-date__dropdown no coincide, y settings.classes solo llega al host. Usa un selector que se sostenga solo.

Posición​

El componente calcula la posición desde el rectángulo del campo y marca el resultado con clases:

ClaseDóndeEfecto
.ontopHost y calendarioSe abrió por encima del campo; la sombra del calendario se invierte
.fullscreenCalendarioNo cabe ni arriba ni abajo: se centra en la ventana (top: 50%, left: 50%)

Referencia de clases​

ClaseDescripción
.tdn-input-dateHost del campo
.tdn-input-date__controlZona clicable que muestra la fecha formateada, con altura --input-max-height menos 18px
.tdn-input-date__control .rangePresentación del rango: tres columnas (desde, divisor, hasta)
.tdn-input-date__controlsContenedor de botones a la derecha
.tdn-input-date__clearBotón para limpiar (fondo --color-error)
.tdn-input-date__chevronChevron del campo
.tdn-input-date__chevron--rotateChevron rotado (calendario abierto)
.tdn-input-date__dropdownPanel del calendario: fijo, radio de 12px, sombra suave
.container__main, .container__monthsEstructura interna del calendario
.container__months.columns-2, .columns-3, .columns-4Varios meses en columnas
.container__months.split-viewMuestra los botones de mes anterior y siguiente en cada mes
.show-week-numbersEnsancha el mes a 8 columnas para mostrar números de semana (--datepicker-month-width)

Ver También​