@junte/ui
Version:
Quality Angular UI components kit
94 lines (93 loc) • 6.93 kB
TypeScript
import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor, FormBuilder } from '@angular/forms';
import { DomSanitizer, SafeStyle, SafeUrl } from '@angular/platform-browser';
import { NGXLogger } from 'ngx-logger';
import { Shape } from '../../core/enums/shape';
import { UI } from '../../core/enums/ui';
import * as ɵngcc0 from '@angular/core';
export declare enum MoveTypes {
Move = "move",
Pinch = "pinch"
}
export declare class MoveStart {
active: boolean;
type: MoveTypes | null;
left: number;
top: number;
clientX: number;
clientY: number;
}
export declare class ImagePosition {
left: number;
top: number;
scale: number;
width: number;
height: number;
}
export declare class CropperPosition {
width: number;
height: number;
}
export declare type ImageCroppedData = {
left: number;
top: number;
scale: number;
};
export declare class ImageCropperComponent implements OnInit, ControlValueAccessor {
private logger;
private cd;
private fb;
sanitizer: DomSanitizer;
ui: typeof UI;
readonly host = "jnt-image-cropper-host";
private moveStart;
private sizeRetries;
private _url;
private _min;
private _max;
private _step;
transformStyle: SafeStyle | string;
marginLeft: SafeStyle | string;
moveTypes: typeof MoveTypes;
imagePosition: ImagePosition;
form: import("@angular/forms").FormGroup;
wrapper: ElementRef;
image: ElementRef;
cropper: ElementRef;
area: CropperPosition;
set min(min: number);
get min(): number;
set max(max: number);
get max(): number;
set step(step: number);
get step(): number;
set url(url: SafeUrl | string);
get url(): SafeUrl | string;
disabled: boolean;
_shape: Shape;
set shape(shape: Shape);
loaded: EventEmitter<void>;
failed: EventEmitter<void>;
onChange: (date: ImageCroppedData) => void;
onTouched: () => void;
registerOnChange: (fn: any) => any;
registerOnTouched: (fn: any) => any;
onBlur: () => void;
constructor(logger: NGXLogger, cd: ChangeDetectorRef, fb: FormBuilder, sanitizer: DomSanitizer);
ngOnInit(): void;
inView(): void;
private checkImageMaxSizeRecursively;
startMove(event: any, moveType: MoveTypes): void;
moveImg(event: any): void;
moveStop(): void;
private crop;
private move;
private getClientX;
private getClientY;
zoom(scale?: number): void;
writeValue(data: ImageCroppedData): void;
setDisabledState(isDisabled: boolean): void;
static ɵfac: ɵngcc0.ɵɵFactoryDef<ImageCropperComponent, never>;
static ɵcmp: ɵngcc0.ɵɵComponentDefWithMeta<ImageCropperComponent, "jnt-image-cropper", never, { "area": "area"; "min": "min"; "max": "max"; "step": "step"; "url": "url"; "shape": "shape"; }, { "loaded": "loaded"; "failed": "failed"; }, never, never>;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuZC50cyIsInNvdXJjZXMiOlsiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztBQU1BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrRkEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVN0eWxlLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBOR1hMb2dnZXIgfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7IFNoYXBlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9zaGFwZSc7XG5pbXBvcnQgeyBVSSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvdWknO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBNb3ZlVHlwZXMge1xuICAgIE1vdmUgPSBcIm1vdmVcIixcbiAgICBQaW5jaCA9IFwicGluY2hcIlxufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTW92ZVN0YXJ0IHtcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgdHlwZTogTW92ZVR5cGVzIHwgbnVsbDtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gICAgY2xpZW50WDogbnVtYmVyO1xuICAgIGNsaWVudFk6IG51bWJlcjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEltYWdlUG9zaXRpb24ge1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICB0b3A6IG51bWJlcjtcbiAgICBzY2FsZTogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBDcm9wcGVyUG9zaXRpb24ge1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIEltYWdlQ3JvcHBlZERhdGEgPSB7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICAgIHNjYWxlOiBudW1iZXI7XG59O1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgSW1hZ2VDcm9wcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSBsb2dnZXI7XG4gICAgcHJpdmF0ZSBjZDtcbiAgICBwcml2YXRlIGZiO1xuICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyO1xuICAgIHVpOiB0eXBlb2YgVUk7XG4gICAgcmVhZG9ubHkgaG9zdCA9IFwiam50LWltYWdlLWNyb3BwZXItaG9zdFwiO1xuICAgIHByaXZhdGUgbW92ZVN0YXJ0O1xuICAgIHByaXZhdGUgc2l6ZVJldHJpZXM7XG4gICAgcHJpdmF0ZSBfdXJsO1xuICAgIHByaXZhdGUgX21pbjtcbiAgICBwcml2YXRlIF9tYXg7XG4gICAgcHJpdmF0ZSBfc3RlcDtcbiAgICB0cmFuc2Zvcm1TdHlsZTogU2FmZVN0eWxlIHwgc3RyaW5nO1xuICAgIG1hcmdpbkxlZnQ6IFNhZmVTdHlsZSB8IHN0cmluZztcbiAgICBtb3ZlVHlwZXM6IHR5cGVvZiBNb3ZlVHlwZXM7XG4gICAgaW1hZ2VQb3NpdGlvbjogSW1hZ2VQb3NpdGlvbjtcbiAgICBmb3JtOiBpbXBvcnQoXCJAYW5ndWxhci9mb3Jtc1wiKS5Gb3JtR3JvdXA7XG4gICAgd3JhcHBlcjogRWxlbWVudFJlZjtcbiAgICBpbWFnZTogRWxlbWVudFJlZjtcbiAgICBjcm9wcGVyOiBFbGVtZW50UmVmO1xuICAgIGFyZWE6IENyb3BwZXJQb3NpdGlvbjtcbiAgICBzZXQgbWluKG1pbjogbnVtYmVyKTtcbiAgICBnZXQgbWluKCk6IG51bWJlcjtcbiAgICBzZXQgbWF4KG1heDogbnVtYmVyKTtcbiAgICBnZXQgbWF4KCk6IG51bWJlcjtcbiAgICBzZXQgc3RlcChzdGVwOiBudW1iZXIpO1xuICAgIGdldCBzdGVwKCk6IG51bWJlcjtcbiAgICBzZXQgdXJsKHVybDogU2FmZVVybCB8IHN0cmluZyk7XG4gICAgZ2V0IHVybCgpOiBTYWZlVXJsIHwgc3RyaW5nO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIF9zaGFwZTogU2hhcGU7XG4gICAgc2V0IHNoYXBlKHNoYXBlOiBTaGFwZSk7XG4gICAgbG9hZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG4gICAgZmFpbGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG4gICAgb25DaGFuZ2U6IChkYXRlOiBJbWFnZUNyb3BwZWREYXRhKSA9PiB2b2lkO1xuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcbiAgICByZWdpc3Rlck9uQ2hhbmdlOiAoZm46IGFueSkgPT4gYW55O1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkOiAoZm46IGFueSkgPT4gYW55O1xuICAgIG9uQmx1cjogKCkgPT4gdm9pZDtcbiAgICBjb25zdHJ1Y3Rvcihsb2dnZXI6IE5HWExvZ2dlciwgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBmYjogRm9ybUJ1aWxkZXIsIHNhbml0aXplcjogRG9tU2FuaXRpemVyKTtcbiAgICBuZ09uSW5pdCgpOiB2b2lkO1xuICAgIGluVmlldygpOiB2b2lkO1xuICAgIHByaXZhdGUgY2hlY2tJbWFnZU1heFNpemVSZWN1cnNpdmVseTtcbiAgICBzdGFydE1vdmUoZXZlbnQ6IGFueSwgbW92ZVR5cGU6IE1vdmVUeXBlcyk6IHZvaWQ7XG4gICAgbW92ZUltZyhldmVudDogYW55KTogdm9pZDtcbiAgICBtb3ZlU3RvcCgpOiB2b2lkO1xuICAgIHByaXZhdGUgY3JvcDtcbiAgICBwcml2YXRlIG1vdmU7XG4gICAgcHJpdmF0ZSBnZXRDbGllbnRYO1xuICAgIHByaXZhdGUgZ2V0Q2xpZW50WTtcbiAgICB6b29tKHNjYWxlPzogbnVtYmVyKTogdm9pZDtcbiAgICB3cml0ZVZhbHVlKGRhdGE6IEltYWdlQ3JvcHBlZERhdGEpOiB2b2lkO1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG59XG4iXX0=