Cada elemento contiene src y una alternativa alt accesible; title es opcional. Usa activeIndex para controlar la imagen o initialIndex para el estado interno. Las miniaturas pueden aparecer debajo o al lado de la imagen. objectFit elige contain o cover. previewEnabled abre el visor desde la imagen principal; sus controles permiten ampliar, girar, voltear, restablecer y descargar. Todas las etiquetas de la barra se pueden traducir.
Los datos estructurados, callbacks y templates se muestran en los ejemplos y en la API.
El código añade las opciones avanzadas cuando difieren del valor predeterminado. Los datos y valores de esta configuración aparecen en el estado del template.
Template generado con tus opciones actuales. Abre Código para consultar el ejemplo completo.
template.html
<neu-gallery
[items]="images"
[previewEnabled]="true"
[showThumbnails]="true"
[showCounter]="true"
[showItemNavigators]="true"
[circular]="false"
[maxZoom]="3"
thumbnailPosition="bottom"
objectFit="contain"
(activeIndexChange)="changeImage($event)"
[activeIndex]="0"
[ariaLabel]="'Galería de ilustraciones'"
[closeLabel]="'Cerrar vista previa'"
[downloadLabel]="'Descargar imagen'"
[flipHorizontalLabel]="'Voltear horizontalmente'"
[flipVerticalLabel]="'Voltear verticalmente'"
[nextLabel]="'Imagen siguiente'"
[previewLabel]="'Vista previa de imagen'"
[previousLabel]="'Imagen anterior'"
[resetLabel]="'Restablecer imagen'"
[rotateLeftLabel]="'Girar a la izquierda'"
[rotateRightLabel]="'Girar a la derecha'"
[thumbnailLabel]="'Miniaturas de la galería'"
[toolbarLabel]="'Controles de imagen'"
[zoomInLabel]="'Ampliar'"
[zoomOutLabel]="'Reducir'"
/>
Estos valores corresponden a la vista previa actual. Los handlers, imports de Core y templates completos están en Código.
configured-state.ts
export const images = [
{
"src": "assets/media/coast.svg",
"alt": "Luz de costa",
"title": "Luz de costa"
},
{
"src": "assets/media/forest.svg",
"alt": "Paseo por el bosque",
"title": "Paseo por el bosque"
},
{
"src": "assets/media/desert.svg",
"alt": "Formas del desierto",
"title": "Formas del desierto"
},
{
"src": "assets/media/night.svg",
"alt": "Cielo nocturno",
"title": "Cielo nocturno"
}
];
Acepta activeIndexChange actualizando activeIndex. previewChange, zoomChange, rotationChange y flipChange comunican el estado observado del visor. imageError identifica el elemento y el índice de una carga fallida. El Template item sustituye la imagen principal; caption sustituye su descripción. Conserva un alt significativo en las imágenes personalizadas.
Usa las flechas, Inicio y Fin para navegar. Las miniaturas exponen el estado activo. La vista previa contiene el foco, se cierra con Escape y devuelve el foco al control que la abrió. Proporciona etiquetas traducidas, alternativas descriptivas y contenido accesible por teclado en los Templates.
Tecla
Acción
Tab
Recorre los controles de la galería; el foco permanece dentro de una vista previa modal abierta.
ArrowLeft / ArrowRight
Muestra el elemento anterior o siguiente de la galería.
Home
Muestra el primer elemento.
End
Muestra el último elemento.
Enter
Activa la miniatura o el botón de galería enfocado.
Space
Activa la miniatura o el botón de galería enfocado.
Escape
Cierra la vista previa y devuelve el foco a su activador.
Inputs y Outputs corresponden al paquete instalado. Los tipos con nombre enlazan a sus definiciones. Cada Template disponible tiene un ejemplo con Demo y Código.
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
activeIndex
number | null
null
[activeIndex]
Índice de imagen aplicado desde 0; null usa estado interno.
ariaLabel
string
'Image gallery'
[ariaLabel]
Etiqueta de región del componente. Tradúcela para tu aplicación.
circular
boolean
false
[circular]
Enlaza la primera y la última imagen.
closeLabel
string
'Close preview'
[closeLabel]
Etiqueta de cerrar vista previa. Tradúcela para tu aplicación.
downloadLabel
string
'Download image'
[downloadLabel]
Etiqueta de descargar imagen. Tradúcela para tu aplicación.
flipHorizontalLabel
string
'Flip horizontally'
[flipHorizontalLabel]
Etiqueta de volteo horizontal. Tradúcela para tu aplicación.
flipVerticalLabel
string
'Flip vertically'
[flipVerticalLabel]
Etiqueta de volteo vertical. Tradúcela para tu aplicación.
imageLoading
"eager" | "lazy"
'lazy'
[imageLoading]
Política nativa eager o lazy de carga de imágenes.
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.
Abre un tipo para consultar su definición y los campos de sus interfaces.
NeuGalleryCaptionContext.d.ts
import type { NeuGalleryItem } from '@neural-ui/core/gallery';
import type { NeuGalleryCaptionContext } from '@neural-ui/core/gallery';
// Declaración pública (solo referencia)
export interface NeuGalleryCaptionContext {
$implicit: NeuGalleryItem;
index: number;
}
NeuGalleryItem.d.ts
import type { NeuImageViewerItem } from '@neural-ui/core/image-viewer';
import type { NeuGalleryItem } from '@neural-ui/core/gallery';
// Declaración pública (solo referencia)
export type NeuGalleryItem = NeuImageViewerItem;
NeuGalleryItemContext.d.ts
import type { NeuGalleryItem } from '@neural-ui/core/gallery';
import type { NeuGalleryItemContext } from '@neural-ui/core/gallery';
// Declaración pública (solo referencia)
export interface NeuGalleryItemContext {
$implicit: NeuGalleryItem;
active: boolean;
index: number;
}
Personaliza los tokens públicos disponibles y comprueba ambos temas. Las ilustraciones y el estado de los ejemplos no son Inputs de Core.
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-focus-ring
Anillo normal del foco de teclado
Compartido con otros consumidores de Core; limita el cambio a un ámbito.