@solana/qr-code-styling
Version:
Add a style and an image to your QR code
124 lines (123 loc) • 3.75 kB
TypeScript
export interface UnknownObject {
[key: string]: any;
}
export declare type DotType = "dots" | "rounded" | "classy" | "classy-rounded" | "square" | "extra-rounded";
export declare type CornerDotType = "dot" | "square";
export declare type CornerSquareType = "dot" | "square" | "extra-rounded";
export declare type FileExtension = "svg" | "png" | "jpeg" | "webp";
export declare type GradientType = "radial" | "linear";
export declare type DrawType = "canvas" | "svg";
export declare type ShapeType = "square" | "circle";
export declare type Gradient = {
type: GradientType;
rotation?: number;
colorStops: {
offset: number;
color: string;
}[];
};
export interface DotTypes {
[key: string]: DotType;
}
export interface GradientTypes {
[key: string]: GradientType;
}
export interface CornerDotTypes {
[key: string]: CornerDotType;
}
export interface CornerSquareTypes {
[key: string]: CornerSquareType;
}
export interface DrawTypes {
[key: string]: DrawType;
}
export interface ShapeTypes {
[key: string]: ShapeType;
}
export declare type TypeNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40;
export declare type ErrorCorrectionLevel = "L" | "M" | "Q" | "H";
export declare type Mode = "Numeric" | "Alphanumeric" | "Byte" | "Kanji";
export interface QRCode {
addData(data: string, mode?: Mode): void;
make(): void;
getModuleCount(): number;
isDark(row: number, col: number): boolean;
createImgTag(cellSize?: number, margin?: number): string;
createSvgTag(cellSize?: number, margin?: number): string;
createSvgTag(opts?: {
cellSize?: number;
margin?: number;
scalable?: boolean;
}): string;
createDataURL(cellSize?: number, margin?: number): string;
createTableTag(cellSize?: number, margin?: number): string;
createASCII(cellSize?: number, margin?: number): string;
renderTo2dContext(context: CanvasRenderingContext2D, cellSize?: number): void;
}
export declare type Options = {
type?: DrawType;
shape?: ShapeType;
width?: number;
height?: number;
margin?: number;
data?: string;
image?: string;
qrOptions?: {
typeNumber?: TypeNumber;
mode?: Mode;
errorCorrectionLevel?: ErrorCorrectionLevel;
};
imageOptions?: {
hideBackgroundDots?: boolean;
imageSize?: number;
crossOrigin?: string;
margin?: number;
};
dotsOptions?: {
type?: DotType;
color?: string;
gradient?: Gradient;
};
cornersSquareOptions?: {
type?: CornerSquareType;
color?: string;
gradient?: Gradient;
};
cornersDotOptions?: {
type?: CornerDotType;
color?: string;
gradient?: Gradient;
};
backgroundOptions?: {
round?: number;
color?: string;
gradient?: Gradient;
};
};
export declare type FilterFunction = (i: number, j: number) => boolean;
export declare type DownloadOptions = {
name?: string;
extension?: FileExtension;
};
export declare type DrawArgs = {
x: number;
y: number;
size: number;
rotation?: number;
getNeighbor?: GetNeighbor;
};
export declare type BasicFigureDrawArgs = {
x: number;
y: number;
size: number;
rotation?: number;
};
export declare type RotateFigureArgs = {
x: number;
y: number;
size: number;
rotation?: number;
draw: () => void;
};
export declare type GetNeighbor = (x: number, y: number) => boolean;
export declare type ExtensionFunction = (svg: SVGElement, options: Options) => void;