advanced-cropper
Version:
The core of the advanced cropper libraries family
60 lines (59 loc) • 4.77 kB
TypeScript
import { AreaPositionRestrictions, AreaSizeRestrictions, CoreSettings, CropperState, DefaultCoordinates, DefaultPosition, DefaultSize, DefaultVisibleArea, ImageRestriction, PositionRestrictions, RawAspectRatio, SizeRestrictions } from "../types/index";
interface DefaultSettingsParams<Settings extends CoreSettings & DefaultSettings> {
minWidth?: number;
minHeight?: number;
maxWidth?: number;
maxHeight?: number;
defaultSize?: DefaultSize<Settings>;
defaultPosition?: DefaultPosition<Settings>;
imageRestriction?: ImageRestriction;
defaultCoordinates?: DefaultCoordinates<Settings>;
defaultVisibleArea?: DefaultVisibleArea<Settings>;
aspectRatio?: RawAspectRatio | ((state: CropperState, setting: Settings) => RawAspectRatio);
areaSizeRestrictions?: AreaSizeRestrictions | ((state: CropperState, settings: Settings) => AreaSizeRestrictions);
areaPositionRestrictions?: AreaPositionRestrictions | ((state: CropperState, settings: Settings) => AreaPositionRestrictions);
sizeRestrictions?: SizeRestrictions | ((state: CropperState, settings: Settings) => SizeRestrictions);
positionRestrictions?: PositionRestrictions | ((state: CropperState, settings: Settings) => PositionRestrictions);
}
interface DefaultSettings {
minWidth?: number;
minHeight?: number;
maxWidth?: number;
maxHeight?: number;
defaultSize?: DefaultSize<this>;
defaultPosition?: DefaultPosition<this>;
imageRestriction?: ImageRestriction;
}
declare function withDefaultSizeRestrictions<Settings extends CoreSettings & DefaultSettings>(sizeRestrictions: SizeRestrictions | ((state: CropperState, settings: Settings) => SizeRestrictions)): (state: CropperState, basicSettings: Settings) => SizeRestrictions;
declare function withDefaultPositionRestrictions(positionRestrictions: PositionRestrictions | ((state: CropperState, settings: CoreSettings) => PositionRestrictions)): (state: CropperState, basicSettings: CoreSettings & DefaultSettings) => import("../types/index").Limits;
declare function withDefaultAreaPositionRestrictions(areaPositionRestrictions: AreaPositionRestrictions | ((state: CropperState, settings: CoreSettings) => AreaPositionRestrictions)): (state: CropperState, basicSettings: CoreSettings & DefaultSettings) => import("../types/index").Limits;
declare function withDefaultAreaSizeRestrictions(areaSizeRestrictions: AreaSizeRestrictions | ((state: CropperState, settings: CoreSettings) => AreaSizeRestrictions)): (state: CropperState, basicSettings: CoreSettings & DefaultSettings) => SizeRestrictions;
declare function createDefaultSettings<Settings extends CoreSettings & DefaultSettings>(params: DefaultSettingsParams<Settings>): {
sizeRestrictions: (state: CropperState, basicSettings: Settings) => SizeRestrictions;
areaPositionRestrictions: (state: CropperState, basicSettings: Settings) => import("../types/index").Limits;
areaSizeRestrictions: (state: CropperState, basicSettings: Settings) => SizeRestrictions;
positionRestrictions: (state: CropperState, basicSettings: Settings) => {};
defaultCoordinates: (state: CropperState, basicSettings: Settings) => Partial<import("../types/index").Coordinates> | ((state: CropperState, settings: CoreSettings) => Partial<import("../types/index").Coordinates> | null) | import("../types/index").CoordinatesTransform[] | (import("../types/index").Size | ((state: CropperState) => {
left: number;
top: number;
}))[] | null;
defaultVisibleArea: (state: CropperState, basicSettings: Settings) => import("../types/index").Coordinates;
aspectRatio: (state: CropperState, basicSettings: Settings) => import("../types/index").AspectRatio;
minWidth?: number | undefined;
minHeight?: number | undefined;
maxWidth?: number | undefined;
maxHeight?: number | undefined;
defaultSize?: import("../types/index").Size | ((state: CropperState, props: Settings) => import("../types/index").Size) | undefined;
defaultPosition?: import("../types/index").Position | ((state: CropperState, props: Settings) => import("../types/index").Position) | undefined;
imageRestriction?: ImageRestriction | undefined;
};
export { DefaultSettingsParams, DefaultSettings, withDefaultSizeRestrictions, withDefaultPositionRestrictions, withDefaultAreaPositionRestrictions, withDefaultAreaSizeRestrictions, createDefaultSettings };
export * from "./defaultAreaPositionRestrictions";
export * from "./defaultPosition";
export * from "./defaultSize";
export * from "./defaultAreaSizeRestrictions";
export * from "./defaultVisibleArea";
export * from "./defaultBoundary";
export * from "./defaultPositionRestrictions";
export * from "./defaultSizeRestrictions";
export * from "./defaultStencilConstraints";