mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-28 16:45:10 +08:00
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
// Type definitions for croppie 2.4
|
|
// Project: https://github.com/Foliotek/Croppie
|
|
// Definitions by: Connor Peet <https://github.com/connor4312>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
export default class Croppie {
|
|
constructor(container: HTMLElement, options?: CroppieOptions);
|
|
|
|
bind(options: {
|
|
url: string,
|
|
points?: number[],
|
|
orientation?: number,
|
|
zoom?: number,
|
|
useCanvas?: boolean,
|
|
}): Promise<void>;
|
|
|
|
result(options: ResultOptions & { type: 'base64' }): Promise<string>;
|
|
result(options: ResultOptions & { type: 'html' }): Promise<HTMLElement>;
|
|
result(options: ResultOptions & { type: 'blob' }): Promise<Blob>;
|
|
result(options: ResultOptions & { type: 'canvas' }): Promise<HTMLCanvasElement>;
|
|
result(options?: ResultOptions): Promise<HTMLCanvasElement>;
|
|
|
|
rotate(degrees: 90 | 180 | 270 | -90 | -180 | -270): void;
|
|
|
|
setZoom(zoom: number): void;
|
|
|
|
destroy(): void;
|
|
}
|
|
|
|
export type CropType = 'square' | 'circle';
|
|
|
|
export type Format = 'jpeg' | 'png' | 'webp';
|
|
|
|
export interface ResultOptions {
|
|
size?: 'viewport' | 'original' | { width: number, height: number };
|
|
format?: Format;
|
|
quality?: number;
|
|
circle?: boolean;
|
|
}
|
|
|
|
export interface CroppieOptions {
|
|
boundary?: { width: number, height: number };
|
|
customClass?: string;
|
|
enableExif?: boolean;
|
|
enableOrientation?: boolean;
|
|
enableZoom?: boolean;
|
|
enforceBoundary?: boolean;
|
|
mouseWheelZoom?: boolean;
|
|
showZoomer?: boolean;
|
|
viewport?: { width: number, height: number, type?: CropType };
|
|
}
|