Skip to main content

QRCode

Apresentação

O componente QRCode é responsável por gerar códigos QR dinamicamente a partir de texto, URLs ou dados. Ele suporta personalização de cores, tamanho, margens e nível de correção de erros, sendo ideal para compartilhamento de links, informações de contato ou qualquer dado que precise ser escaneado.

Quando usar

  • Para compartilhar URLs
  • Para exibir informações de contato
  • Para criar códigos de pagamento
  • Para compartilhar Wi-Fi
  • Para exibir dados de eventos
  • Para criar códigos promocionais
  • Para compartilhar localização
  • Para exibir informações de produtos

Forma básica de uso

import { QRCode } from 'eitri-luminus';

// QRCode básico
<QRCode value="https://www.exemplo.com" />

// QRCode com cores personalizadas
<QRCode
value="https://www.exemplo.com"
foregroundColor="#000000"
backgroundColor="#FFFFFF"
/>

// QRCode com tamanho personalizado
<QRCode
value="https://www.exemplo.com"
scale={8}
margin={2}
/>

// QRCode com nível de correção de erro
<QRCode
value="https://www.exemplo.com"
errorCorrectionLevel="H"
/>

// QRCode com classes personalizadas
<QRCode
value="https://www.exemplo.com"
className="border rounded-lg p-4"
/>

// QRCode com estilos inline
<QRCode
value="https://www.exemplo.com"
style={{
border: '2px solid #ccc',
borderRadius: '8px',
padding: '16px'
}}
/>

// QRCode responsivo
<QRCode
value="https://www.exemplo.com"
className="w-32 h-32 md:w-48 md:h-48"
/>

// QRCode com identificador
<QRCode
id="qr-pagamento"
value="https://www.exemplo.com"
/>

// QRCode com título e alt personalizados
<QRCode
value="https://www.exemplo.com"
title="QR Code para Pagamento"
alt="Código QR para realizar pagamento"
/>

// QRCode para Wi-Fi
<QRCode
value="WIFI:T:WPA;S:MinhaRede;P:MinhaSenha;;"
title="Conectar ao Wi-Fi"
/>

// QRCode para contato
<QRCode
value="BEGIN:VCARD\nVERSION:3.0\nFN:João Silva\nTEL:+5511999999999\nEMAIL:[email protected]\nEND:VCARD"
title="Adicionar Contato"
/>

// QRCode com layout flexível
<QRCode
value="https://www.exemplo.com"
display="block"
margin="4"
textAlign="center"
/>

Propriedades

PropriedadeTipoDescrição
valuestringDados a serem codificados no QR Code
foregroundColorstringCor do QR Code (padrão: "#000000")
backgroundColorstringCor de fundo (padrão: "#FFFFFF")
errorCorrectionLevelstringNível de correção de erro (L, M, Q, H)
scalenumberTamanho dos módulos (padrão: 4)
marginnumberMargem ao redor do QR Code (padrão: 4)
titlestringTítulo da imagem (padrão: "QR Code")
altstringTexto alternativo (padrão: "QR Code")
dataCystringAtributo data-cy para testes (padrão: "QRCode")
classNamestringClasses CSS adicionais
idstringIdentificador único do componente

Níveis de Correção de Erro

  • L (Low): 7% de correção
  • M (Medium): 15% de correção
  • Q (Quartile): 25% de correção (padrão)
  • H (High): 30% de correção

Heranças

O componente QRCode 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 gera QR Codes dinamicamente usando a biblioteca qrcode
  • Mantém a semântica HTML apropriada com tag <img>
  • É responsivo por padrão
  • Pode ser estilizado com classes do Tailwind
  • Suporta propriedades de layout flexíveis
  • Mantém a acessibilidade por padrão
  • Pode ser usado em qualquer contexto de layout
  • Suporta diferentes tamanhos e resoluções
  • Pode ser combinado com outros componentes
  • Ideal para compartilhamento de dados
  • Suporta estilos inline e classes CSS
  • Pode ser usado para diferentes tipos de dados
  • Funciona bem com diferentes formatos de entrada
  • Gera QR Codes otimizados para leitura