ant-design/components/qr-code/interface.ts
kiner-tang 3851af9607
feat: support custom status render in qrcode (#49563)
* feat: support custom status render in qrcode

* feat: support custom status render in qrcode

* feat: add test case

* fix: code review

* fix: code review

* fix: code review

* fix: code review

* feat: optimize code

* feat: optimize code

* Update components/qr-code/index.zh-CN.md

Co-authored-by: lijianan <574980606@qq.com>
Signed-off-by: kiner-tang <1127031143@qq.com>

* Update components/qr-code/index.en-US.md

Co-authored-by: lijianan <574980606@qq.com>
Signed-off-by: kiner-tang <1127031143@qq.com>

* feat: opt code

Signed-off-by: kiner-tang <1127031143@qq.com>

* feat: optimize code

* feat: optimize code

* feat: optimize code

* feat: optimize code

* feat: optimize code

* Update components/qr-code/index.en-US.md

Signed-off-by: kiner-tang <1127031143@qq.com>

* Update components/qr-code/index.zh-CN.md

Signed-off-by: kiner-tang <1127031143@qq.com>

---------

Signed-off-by: kiner-tang <1127031143@qq.com>
Co-authored-by: lijianan <574980606@qq.com>
2024-07-12 10:49:47 +08:00

35 lines
1004 B
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;
};
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;
}