react-advanced-cropper
Version:
The react cropper library that gives the possibility to create croppers exactly suited for your website design
82 lines (81 loc) • 8.32 kB
TypeScript
/// <reference types="react" />
import { AbstractCropperInstanceCallbacks, AbstractCropperInstanceParameters, CropperImage, DrawOptions } from 'advanced-cropper';
import { StretchableBoundaryMethods } from '../components/service/StretchableBoundary';
import { CropperCanvasMethods } from '../components/service/CropperCanvas';
import { ExtendedSettings, SettingsExtension } from '../types';
import { AbstractCropperRef, AbstractCropperSettings } from '../components/AbstractCropper';
import { CropperInstanceSettingsProp } from './useCropperInstance';
export interface AbstractCropperHookProps<Settings extends AbstractCropperSettings> extends AbstractCropperInstanceParameters<Settings>, AbstractCropperInstanceCallbacks<AbstractCropperRef<Settings>> {
src?: string | null;
checkOrientation?: boolean;
canvas?: boolean;
crossOrigin?: 'anonymous' | 'use-credentials' | boolean;
onReady?: (cropper: AbstractCropperRef<Settings>) => void;
onError?: (cropper: AbstractCropperRef<Settings>) => void;
onUpdate?: (cropper: AbstractCropperRef<Settings>) => void;
unloadTime?: number;
autoReconcileState?: boolean;
settings?: CropperInstanceSettingsProp<Settings>;
}
export declare function useAbstractCropper<Extension extends SettingsExtension = {}>(props: () => AbstractCropperHookProps<ExtendedSettings<Extension>>): {
cropper: {
reset: () => Promise<void>;
refresh: () => Promise<void>;
setImage: (image: CropperImage) => void;
reconcileState: (options?: import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions | undefined) => void;
moveCoordinates: (directions: Partial<import("advanced-cropper/types").MoveDirections>, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
moveCoordinatesEnd: (options?: (import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
resizeCoordinates: (anchor: import("advanced-cropper/types").ResizeAnchor, directions: Partial<import("advanced-cropper/types").MoveDirections>, parameters?: unknown, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
clear: () => void;
resizeCoordinatesEnd: (options?: (import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
moveImage: (left: number, top?: number | undefined, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
flipImage: (horizontal?: boolean | undefined, vertical?: boolean | undefined, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
zoomImage: (scale: number | import("advanced-cropper/types").Scale, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
rotateImage: (rotate: number | import("advanced-cropper/types").Rotate, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
transformImage: (transform: import("advanced-cropper/types").ImageTransform, options?: (import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").NormalizeOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
transformImageEnd: (options?: (import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
setCoordinates: (transforms: import("advanced-cropper/types").CoordinatesTransform | import("advanced-cropper/types").CoordinatesTransform[], options?: (import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
setVisibleArea: (visibleArea: import("advanced-cropper/types").Coordinates, options?: (import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions) | undefined) => void;
startTransitions: () => void;
setState: (modifier: import("advanced-cropper/types").CropperState | ((state: import("advanced-cropper/types").CropperState | null, settings: import("advanced-cropper/types").CoreSettings) => import("advanced-cropper/types").CropperState | null) | null, options?: (import("advanced-cropper/instance/AbstractCropperInstance").TransitionOptions & import("advanced-cropper/instance/AbstractCropperInstance").ImmediatelyOptions & import("advanced-cropper/instance/AbstractCropperInstance").InteractionOptions & import("advanced-cropper/instance/AbstractCropperInstance").PostprocessOptions) | undefined) => void;
hasInteractions: () => boolean;
getStencilCoordinates: () => {
left: number;
top: number;
width: number;
height: number;
};
getCoordinates: (options?: {
round?: boolean | undefined;
} | undefined) => import("advanced-cropper/types").Coordinates | null;
getVisibleArea: () => {
width: number;
height: number;
top: number;
left: number;
} | null;
getTransforms: () => import("advanced-cropper/types").Transforms;
getTransitions: () => any;
getInteractions: () => import("advanced-cropper/types").CropperInteractions;
getSettings: () => ExtendedSettings<Extension>;
getState: () => import("advanced-cropper/types").CropperState | null;
getDefaultState(): import("advanced-cropper/types").CropperState | null;
getCanvas: (options?: DrawOptions | undefined) => HTMLCanvasElement | null;
getImage: () => {
src: string;
revoke: boolean;
transforms: import("advanced-cropper/types").Transforms;
arrayBuffer: ArrayBuffer | null;
width: number;
height: number;
} | null;
isLoading: () => boolean;
isLoaded: () => boolean;
};
refs: {
image: import("react").RefObject<HTMLElement>;
boundary: import("react").RefObject<StretchableBoundaryMethods>;
canvas: import("react").RefObject<CropperCanvasMethods>;
};
image: CropperImage | null;
};