Qr Code
import { QRCode, encodeQr } from '@hanzo/ui'
Default
A QR code for a URL at its default 256px size.
export function Default() {return <QRCode value="https://ui.hanzo.ai" />}
Sizes
The same value rendered at three pixel sizes.
export function Sizes() {return (<XStack gap="$4" items="center">{[96, 160, 224].map((size) => (<QRCode key={size} value="https://ui.hanzo.ai" size={size} />))}</XStack>)}
Error correction
The same value at each of the four correction levels.
L
M
Q
H
export function ErrorCorrection() {return (<XStack gap="$4" items="center" flexWrap="wrap">{(['L', 'M', 'Q', 'H'] as const).map((level) => (<YStack key={level} gap="$2" items="center"><QRCode value="https://ui.hanzo.ai" size={120} level={level} /><SizableText size="$2" color="$quiet">{level}</SizableText></YStack>))}</XStack>)}
Colors and margin
Custom foreground/background with a quiet-zone margin.
export function Styled() {return <QRCode value="https://ui.hanzo.ai" fgColor="#7000FF" bgColor="#F4EEFF" includeMargin size={200} />}
Types
export type QRCodeLevel = 'L' | 'M' | 'Q' | 'H'
export type QRCodeImageSettings = {src: stringheight: numberwidth: numberexcavate?: booleanx?: numbery?: number}
export type QRCodeProps = React.ComponentProps<'div'> & {/** The text or URL to encode. */value: string/** Rendered pixel size, square. */size?: number/** Error-correction level: L (~7%), M (~15%), Q (~25%), H (~30%). */level?: QRCodeLevelbgColor?: stringfgColor?: string/** Adds a 4-module quiet zone around the code. */includeMargin?: boolean/** An optional logo overlaid at the center. */imageSettings?: QRCodeImageSettings}
Exports
QRCodeencodeQrtype QRCodeImageSettingstype QRCodeLeveltype QRCodeProps