Saltar al contenido principal
Neural UIv2.0.0Documentación
Ver v1 GitHub

Calendar

Muestra eventos en vistas mensual y semanal con una agenda sincronizada.

Categoría
Datos y jerarquía
Import
@neural-ui/core/calendar
Selector
neu-calendar
import { NeuCalendarComponent } from '@neural-ui/core/calendar';

Uso

Cada evento tiene id único, title y start, con end, allDay, tone y metadatos opcionales. selectedDate controla el periodo y día seleccionado; acepta selectedDateChange para moverlo. view admite month o week; el Template también recibe agenda como contexto de renderizado. locale y labels controlan los textos del calendario, no traducen eventos. Calendar muestra eventos; crearlos o editarlos corresponde a tu aplicación.

Ejemplos

Prueba esta interacción gestionada por la aplicación. Código incluye los eventos y los datos iniciales.

Ejemplos

octubre de 2026

lun
mar
mié
jue
vie
sáb
dom

jueves, 15 de octubre

1 evento

Eventos: 0

Prueba y configura

Cambia las opciones públicas, prueba el resultado y consulta el template actualizado. Código contiene la implementación ejecutable completa.

Prueba y configura

octubre de 2026

lun
mar
mié
jue
vie
sáb
dom

jueves, 15 de octubre

1 evento

Eventos: 0

template.html
<neu-calendar
  [events]="events()"
  [selectedDate]="selectedDate()"
  (selectedDateChange)="
    selectedDate.set($event); record('selectedDateChange', $event)
  "
  [locale]="locale()"
  [view]="'month'"
  [showHeader]="true"
  [firstDayOfWeek]="1"
  [maxVisibleEvents]="2"
  (eventClick)="record('eventClick', $event.id)"
></neu-calendar>

Estado y eventos

Cada evento tiene id único, title y start, con end, allDay, tone y metadatos opcionales. selectedDate controla el periodo y día seleccionado; acepta selectedDateChange para moverlo. view admite month o week; el Template también recibe agenda como contexto de renderizado. locale y labels controlan los textos del calendario, no traducen eventos. Calendar muestra eventos; crearlos o editarlos corresponde a tu aplicación.

Accesibilidad y teclado

Tab alcanza controles de periodo, días y eventos. Intro o Espacio selecciona un día o activa un evento. En la vista mensual compacta, selecciona un día para consultar sus eventos completos en la agenda.

Tecla
Acción
Tab Recorre los controles de periodo, días y eventos.
Enter Selecciona el día enfocado o activa el evento o botón de periodo enfocado.
Space Selecciona el día enfocado o activa el evento o botón de periodo enfocado.

API

Inputs, modelos y Outputs se extraen del paquete Core instalado. Los tipos públicos enlazan a sus definiciones. Los Templates incluyen ejemplos ejecutables.

Inputs

Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.

Nombre
Tipo
Por defecto
Uso en el template
Descripción
eventsNeuCalendarEvent[][][events]Eventos con ids estables, títulos, inicio y metadatos end/tone opcionales.
firstDayOfWeeknumber1[firstDayOfWeek]Primer día semanal del calendario: 0 es domingo y 1 es lunes.
labelsPartial<NeuCalendarLabels>{}[labels]Textos localizados de navegación, agenda y contador de eventos del calendario.
localestringthis.defaultLocaleValor derivado[locale]Idioma utilizado para formatear meses, días semanales y fechas del calendario.
maxVisibleEventsnumber3[maxVisibleEvents]Máximo de eventos mostrados directamente en cada celda mensual.
selectedDatestring | Datethis.temporal.today()Valor derivado[selectedDate]Día seleccionado y periodo aplicado, como cadena de fecha o Date.
showHeaderbooleantrue[showHeader]Muestra la navegación de periodo y la cabecera del calendario.
viewNeuCalendarView'month'[view]Elige renderizado month o week. La agenda es un contexto del Template, no un valor de view.

Outputs

Escucha un evento con (evento)="handler($event)". La tabla indica qué datos recibe tu función y cómo utilizarlos.

Nombre
Valor emitido
Uso en el template
Descripción
eventClickNeuCalendarEvent(eventClick)="onEventClick($event)"Emite el evento del calendario activado.
selectedDateChangeDate(selectedDateChange)="onSelectedDateChange($event)"Propone una Date al navegar o seleccionar un día. Aplícala a selectedDate.

Templates

ng-content proyecta contenido dentro del componente. Los inputs TemplateRef reciben un template; las directivas ng-template identifican templates con un contexto tipado. Una directiva compartida en el entrypoint no es necesariamente un slot de este componente.

Nombre
Mecanismo
Contrato
NeuCalendarEventDirectiveVer ejemplo Directiva pública de templateng-template[neuCalendarEvent]

Cada ejemplo muestra un template diferente. Alterna entre Demo y Código para consultar su implementación, imports y estado.

NeuCalendarEventDirective

NeuCalendarEventDirective

NeuCalendarEventDirective

octubre de 2026

lun
mar
mié
jue
vie
sáb
dom

jueves, 15 de octubre

1 evento

Eventos: 0

Public Types

Abre un tipo para consultar su definición y los campos de sus interfaces.

Estilos y tokens

Usa los tokens públicos de la referencia. El diseño del contenedor pertenece a tu aplicación; comprueba el resultado en modo claro y oscuro y en espacios estrechos.

Tokens específicos

Este componente utiliza tokens compartidos del tema en lugar de tokens específicos.

Tokens compartidos utilizados

Sobrescríbelos en un contenedor local para afectar a este ejemplo. Una modificación en :root afecta a los demás componentes que utilizan el mismo token.

Token
Efecto aquí
Otros efectos
Valor / alternativa
--neu-border Bordes normales de controles y celdas Compartido con otros consumidores de Core; limita el cambio a un ámbito. rgba(15, 23, 42, 0.08)
--neu-error Color del campo no válido o de la acción de peligro Compartido con otros consumidores de Core; limita el cambio a un ámbito. #dc2626
--neu-primary Color de marca en controles activos y énfasis Compartido con otros consumidores de Core; limita el cambio a un ámbito. #007aff
--neu-surface Superficie principal del campo, cabecera o control Compartido con otros consumidores de Core; limita el cambio a un ámbito. #ffffff
--neu-surface-2 Superficies secundarias y filas alternas Compartido con otros consumidores de Core; limita el cambio a un ámbito. #f1f5f9
--neu-text Color del texto principal y de los iconos que lo heredan Compartido con otros consumidores de Core; limita el cambio a un ámbito. #0f172a
--neu-text-muted Etiquetas secundarias y contenido de ayuda Compartido con otros consumidores de Core; limita el cambio a un ámbito. #475569
--neu-radius-lg Radio de esquina Compartido con otros consumidores de Core; limita el cambio a un ámbito. 12px