ant-design/components/qr-code/interface.ts
thinkasany f3cebe3dd2
feat: ConfigProvider support qrcode (#52172)
* feat: ConfigProvider support ClassNames and styles for qrcode

* update mask to cover

* fix test

* update token from QRCodeMaskBackgroundColor to QRCodeCoverBackgroundColor

* rm

* fix typo
2025-04-10 15:08:32 +08:00

38 lines
1.1 KiB
TypeScript

import type { ReactNode } from 'react';
import type { QRProps } from '@rc-component/qrcode';
import type { Locale } from '../locale';
type ImageSettings = QRProps['imageSettings'];
export type { QRProps, ImageSettings };
export type QRPropsCanvas = QRProps & React.CanvasHTMLAttributes<HTMLCanvasElement>;
export type QRPropsSvg = QRProps & React.SVGAttributes<SVGSVGElement>;
export type QRStatus = 'active' | 'expired' | 'loading' | 'scanned';
export type StatusRenderInfo = {
status: Exclude<QRStatus, 'active'>;
locale: Locale['QRCode'];
onRefresh?: () => void;
};
type SemanticName = 'root' | 'cover';
export interface QRCodeProps extends QRProps, React.HTMLAttributes<HTMLDivElement> {
type?: 'canvas' | 'svg';
className?: string;
rootClassName?: string;
prefixCls?: string;
icon?: string;
iconSize?: number | { width: number; height: number };
bordered?: boolean;
errorLevel?: 'L' | 'M' | 'Q' | 'H';
status?: QRStatus;
onRefresh?: () => void;
statusRender?: (info: StatusRenderInfo) => ReactNode;
classNames?: Partial<Record<SemanticName, string>>;
styles?: Partial<Record<SemanticName, React.CSSProperties>>;
}