Skip to main content

Image

Apresentação

O componente Image é responsável por exibir imagens na interface, oferecendo recursos avançados como zoom com gestos (pinch zoom), carregamento otimizado e fallback para casos de erro.

Quando usar

  • Para exibir imagens em qualquer parte da interface
  • Quando precisar de imagens responsivas
  • Para implementar zoom em imagens com gestos
  • Quando precisar de carregamento otimizado de imagens
  • Para exibir imagens com fallback em caso de erro

Forma básica de uso

import { Image } from 'eitri-luminus';

// Imagem básica
<Image
src="/caminho/da/imagem.jpg"
alt="Descrição da imagem"
width="100%"
height="auto"
/>

// Imagem com zoom
<Image
src="/caminho/da/imagem.jpg"
alt="Descrição da imagem"
pinchZoom
zoomMaxScale={3}
/>

// Imagem com carregamento otimizado
<Image
src="/caminho/da/imagem.jpg"
alt="Descrição da imagem"
loading="lazy"
decoding="async"
/>

// Imagem com srcSet para diferentes resoluções
<Image
src="/imagem-padrao.jpg"
srcSet="/imagem-pequena.jpg 300w, /imagem-media.jpg 600w, /imagem-grande.jpg 900w"
sizes="(max-width: 300px) 300px, (max-width: 600px) 600px, 900px"
alt="Imagem responsiva"
/>

Propriedades

PropriedadeTipoDescrição
srcstringURL da imagem
altstringTexto alternativo para acessibilidade
loading'eager' | 'lazy'Estratégia de carregamento da imagem
decoding'sync' | 'async'Estratégia de decodificação da imagem
widthstring | numberLargura da imagem
heightstring | numberAltura da imagem
titlestringTítulo da imagem (tooltip)
srcSetstringConjunto de imagens para diferentes resoluções
sizesstringTamanhos das imagens para diferentes viewports
onLoad() => voidFunção chamada quando a imagem é carregada
pinchZoombooleanHabilita zoom com gestos (pinch)
zoomMaxScalenumberEscala máxima do zoom (padrão: 2)
zoomMaxTranslatenumberDistância máxima de translação do zoom (padrão: 100)

Heranças

O componente Image herda todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente exibe um placeholder quando a imagem não carrega
  • O zoom com gestos é suportado apenas em dispositivos touch
  • O carregamento lazy é recomendado para imagens abaixo da dobra
  • O componente é responsivo por padrão
  • Recomenda-se sempre fornecer um texto alternativo para acessibilidade
  • O zoom é limitado para evitar problemas de performance
  • O componente suporta imagens em diferentes formatos (JPG, PNG, WebP, etc)