Componente Image

¿Qué es el componente Image?

El componente Image proporciona un widget de imagen estilizado con capacidades responsivas y manejo de errores. Permite controlar dimensiones, relación de aspecto y cómo la imagen se ajusta a su contenedor. Incluye soporte para diferentes relaciones de aspecto y comportamientos de ajuste.

¿Cómo se utiliza el componente Image?

Para usar el componente Image, importa la clase y configura sus propiedades:


import Image, { AspectRatio, Fit } from "@seigenta/TypesCraft/widgets/image";

// Uso básico
new Image({
    src: "ruta/a/imagen.jpg",
    alt: "Descripción de la imagen",
    height: Size.px(300),
    width: Size.percent(100)
})
          

Propiedades del componente

El componente Image acepta las siguientes propiedades:

  • src: (string) - Ruta de la imagen (requerido)
  • alt: (string) - Texto alternativo (requerido)
  • height?: (Size) - Altura de la imagen
  • width?: (Size) - Ancho de la imagen
  • aspectRatio?: (AspectRatio|string) - Relación de aspecto
  • objectFit?: (Fit|string) - Comportamiento de ajuste
  • id?: (string) - Identificador único
  • key?: (any) - Clave para reconciliación

Ejemplos de uso

Ejemplo básico con dimensiones fijas:


new Image({
    src: "logo.png",
    alt: "Logo de la empresa",
    height: Size.px(100),
    width: Size.px(100)
})
          

Ejemplo avanzado con relación de aspecto y ajuste:


new Image({
    src: "banner.jpg",
    alt: "Banner promocional",
    width: Size.percent(100),
    aspectRatio: AspectRatio.HD,
    objectFit: Fit.Cover
})
          

Relaciones de aspecto (AspectRatio)

El enum AspectRatio proporciona relaciones predefinidas:

  • Square - 1:1 (cuadrado)
  • Standard - 4:3 (estándar)
  • HD - 16:9 (panorámico)
  • UltraWide - 21:9 (ultra ancho)

También puedes usar cadenas personalizadas como "3/2"

Comportamientos de ajuste (Fit)

El enum Fit controla cómo la imagen se ajusta al contenedor:

  • Cover - Cubre todo el espacio manteniendo relación
  • Contain - Ajusta manteniendo toda la imagen visible
  • Fill - Estira para llenar el espacio
  • None - Mantiene tamaño original
  • ScaleDown - Como none o contain (el que sea más pequeño)

Manejo de errores

El componente incluye manejo de errores cuando la imagen no puede cargar:

  • Muestra un fondo gris claro
  • Muestra el texto "Image failed to load" centrado
  • Mantiene las dimensiones especificadas