ngx-image-cropper 7.2.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -29
- package/esm2022/lib/component/image-cropper.component.mjs +636 -0
- package/esm2022/lib/interfaces/basic-event.interface.mjs +2 -0
- package/{esm2020 → esm2022}/lib/services/crop.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/cropper-position.service.mjs +16 -6
- package/esm2022/lib/services/load-image.service.mjs +201 -0
- package/{esm2020 → esm2022}/lib/utils/keyboard.utils.mjs +1 -1
- package/esm2022/public-api.mjs +7 -0
- package/{fesm2020 → fesm2022}/ngx-image-cropper.mjs +36 -47
- package/fesm2022/ngx-image-cropper.mjs.map +1 -0
- package/index.d.ts +5 -7
- package/lib/component/image-cropper.component.d.ts +5 -4
- package/lib/interfaces/basic-event.interface.d.ts +4 -0
- package/lib/interfaces/cropper-options.interface.d.ts +2 -2
- package/lib/services/cropper-position.service.d.ts +5 -4
- package/lib/utils/hammer.utils.d.ts +1 -1
- package/lib/utils/keyboard.utils.d.ts +2 -1
- package/package.json +10 -18
- package/public-api.d.ts +6 -1
- package/esm2020/index.mjs +0 -8
- package/esm2020/lib/component/image-cropper.component.mjs +0 -635
- package/esm2020/lib/image-cropper.module.mjs +0 -26
- package/esm2020/lib/services/load-image.service.mjs +0 -200
- package/esm2020/public-api.mjs +0 -2
- package/fesm2015/ngx-image-cropper.mjs +0 -1483
- package/fesm2015/ngx-image-cropper.mjs.map +0 -1
- package/fesm2020/ngx-image-cropper.mjs.map +0 -1
- package/lib/image-cropper.module.d.ts +0 -8
- package/ngx-image-cropper.d.ts +0 -5
- /package/{esm2020 → esm2022}/lib/interfaces/cropper-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/cropper-position.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/cropper.settings.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/dimensions.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/exif-transform.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/image-cropped-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/image-transform.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/loaded-image.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/move-start.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/blob.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/exif.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/hammer.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/percentage.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/resize.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-image-cropper.mjs +0 -0
|
@@ -6,6 +6,7 @@ import { MoveTypes } from '../interfaces/move-start.interface';
|
|
|
6
6
|
import { CropService } from '../services/crop.service';
|
|
7
7
|
import { CropperPositionService } from '../services/cropper-position.service';
|
|
8
8
|
import { LoadImageService } from '../services/load-image.service';
|
|
9
|
+
import { BasicEvent } from "../interfaces/basic-event.interface";
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export declare class ImageCropperComponent implements OnChanges, OnInit {
|
|
11
12
|
private cropService;
|
|
@@ -28,7 +29,7 @@ export declare class ImageCropperComponent implements OnChanges, OnInit {
|
|
|
28
29
|
imageVisible: boolean;
|
|
29
30
|
wrapper: ElementRef<HTMLDivElement>;
|
|
30
31
|
sourceImage: ElementRef<HTMLDivElement>;
|
|
31
|
-
imageChangedEvent?:
|
|
32
|
+
imageChangedEvent?: Event | null;
|
|
32
33
|
imageURL?: string;
|
|
33
34
|
imageBase64?: string;
|
|
34
35
|
imageFile?: File;
|
|
@@ -80,7 +81,7 @@ export declare class ImageCropperComponent implements OnChanges, OnInit {
|
|
|
80
81
|
private loadBase64Image;
|
|
81
82
|
private loadImageFromURL;
|
|
82
83
|
private setLoadedImage;
|
|
83
|
-
loadImageError(error:
|
|
84
|
+
loadImageError(error: unknown): void;
|
|
84
85
|
imageLoadedInView(): void;
|
|
85
86
|
private checkImageMaxSizeRecursively;
|
|
86
87
|
private sourceImageLoaded;
|
|
@@ -91,7 +92,7 @@ export declare class ImageCropperComponent implements OnChanges, OnInit {
|
|
|
91
92
|
keyboardAccess(event: KeyboardEvent): void;
|
|
92
93
|
private changeKeyboardStepSize;
|
|
93
94
|
private keyboardMoveCropper;
|
|
94
|
-
startMove(event:
|
|
95
|
+
startMove(event: Event | BasicEvent, moveType: MoveTypes, position?: string | null): void;
|
|
95
96
|
private initMouseMove;
|
|
96
97
|
startPinch(event: any): void;
|
|
97
98
|
private handleMouseMove;
|
|
@@ -112,5 +113,5 @@ export declare class ImageCropperComponent implements OnChanges, OnInit {
|
|
|
112
113
|
private cropToBase64;
|
|
113
114
|
private aspectRatioIsCorrect;
|
|
114
115
|
static ɵfac: i0.ɵɵFactoryDeclaration<ImageCropperComponent, [null, null, null, null, null, null, { optional: true; }]>;
|
|
115
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ImageCropperComponent, "image-cropper", never, { "imageChangedEvent": "imageChangedEvent"; "imageURL": "imageURL"; "imageBase64": "imageBase64"; "imageFile": "imageFile"; "imageAltText": "imageAltText"; "cropperFrameAriaLabel": "cropperFrameAriaLabel"; "output": "output"; "format": "format"; "transform": "transform"; "maintainAspectRatio": "maintainAspectRatio"; "aspectRatio": "aspectRatio"; "resetCropOnAspectRatioChange": "resetCropOnAspectRatioChange"; "resizeToWidth": "resizeToWidth"; "resizeToHeight": "resizeToHeight"; "cropperMinWidth": "cropperMinWidth"; "cropperMinHeight": "cropperMinHeight"; "cropperMaxHeight": "cropperMaxHeight"; "cropperMaxWidth": "cropperMaxWidth"; "cropperStaticWidth": "cropperStaticWidth"; "cropperStaticHeight": "cropperStaticHeight"; "canvasRotation": "canvasRotation"; "initialStepSize": "initialStepSize"; "roundCropper": "roundCropper"; "onlyScaleDown": "onlyScaleDown"; "imageQuality": "imageQuality"; "autoCrop": "autoCrop"; "backgroundColor": "backgroundColor"; "containWithinAspectRatio": "containWithinAspectRatio"; "hideResizeSquares": "hideResizeSquares"; "allowMoveImage": "allowMoveImage"; "cropper": "cropper"; "alignImage": "alignImage"; "disabled": "disabled"; "hidden": "hidden"; }, { "imageCropped": "imageCropped"; "startCropImage": "startCropImage"; "imageLoaded": "imageLoaded"; "cropperReady": "cropperReady"; "loadImageFailed": "loadImageFailed"; "transformChange": "transformChange"; }, never, never>;
|
|
116
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ImageCropperComponent, "image-cropper", never, { "imageChangedEvent": { "alias": "imageChangedEvent"; "required": false; }; "imageURL": { "alias": "imageURL"; "required": false; }; "imageBase64": { "alias": "imageBase64"; "required": false; }; "imageFile": { "alias": "imageFile"; "required": false; }; "imageAltText": { "alias": "imageAltText"; "required": false; }; "cropperFrameAriaLabel": { "alias": "cropperFrameAriaLabel"; "required": false; }; "output": { "alias": "output"; "required": false; }; "format": { "alias": "format"; "required": false; }; "transform": { "alias": "transform"; "required": false; }; "maintainAspectRatio": { "alias": "maintainAspectRatio"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "resetCropOnAspectRatioChange": { "alias": "resetCropOnAspectRatioChange"; "required": false; }; "resizeToWidth": { "alias": "resizeToWidth"; "required": false; }; "resizeToHeight": { "alias": "resizeToHeight"; "required": false; }; "cropperMinWidth": { "alias": "cropperMinWidth"; "required": false; }; "cropperMinHeight": { "alias": "cropperMinHeight"; "required": false; }; "cropperMaxHeight": { "alias": "cropperMaxHeight"; "required": false; }; "cropperMaxWidth": { "alias": "cropperMaxWidth"; "required": false; }; "cropperStaticWidth": { "alias": "cropperStaticWidth"; "required": false; }; "cropperStaticHeight": { "alias": "cropperStaticHeight"; "required": false; }; "canvasRotation": { "alias": "canvasRotation"; "required": false; }; "initialStepSize": { "alias": "initialStepSize"; "required": false; }; "roundCropper": { "alias": "roundCropper"; "required": false; }; "onlyScaleDown": { "alias": "onlyScaleDown"; "required": false; }; "imageQuality": { "alias": "imageQuality"; "required": false; }; "autoCrop": { "alias": "autoCrop"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "containWithinAspectRatio": { "alias": "containWithinAspectRatio"; "required": false; }; "hideResizeSquares": { "alias": "hideResizeSquares"; "required": false; }; "allowMoveImage": { "alias": "allowMoveImage"; "required": false; }; "cropper": { "alias": "cropper"; "required": false; }; "alignImage": { "alias": "alignImage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; }, { "imageCropped": "imageCropped"; "startCropImage": "startCropImage"; "imageLoaded": "imageLoaded"; "cropperReady": "cropperReady"; "loadImageFailed": "loadImageFailed"; "transformChange": "transformChange"; }, never, never, true, never>;
|
|
116
117
|
}
|
|
@@ -24,5 +24,5 @@ export interface CropperOptions {
|
|
|
24
24
|
hideResizeSquares: boolean;
|
|
25
25
|
alignImage: 'left' | 'center';
|
|
26
26
|
}
|
|
27
|
-
export
|
|
28
|
-
export
|
|
27
|
+
export type OutputFormat = 'png' | 'jpeg' | 'bmp' | 'webp' | 'ico';
|
|
28
|
+
export type OutputType = 'base64' | 'blob';
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
2
|
import { CropperPosition, Dimensions, MoveStart } from '../interfaces';
|
|
3
3
|
import { CropperSettings } from '../interfaces/cropper.settings';
|
|
4
|
+
import { BasicEvent } from "../interfaces/basic-event.interface";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class CropperPositionService {
|
|
6
7
|
resetCropperPosition(sourceImage: ElementRef, cropperPosition: CropperPosition, settings: CropperSettings, maxSize: Dimensions): void;
|
|
7
|
-
move(event:
|
|
8
|
-
resize(event:
|
|
8
|
+
move(event: Event | BasicEvent, moveStart: MoveStart, cropperPosition: CropperPosition): void;
|
|
9
|
+
resize(event: Event | BasicEvent, moveStart: MoveStart, cropperPosition: CropperPosition, maxSize: Dimensions, settings: CropperSettings): void;
|
|
9
10
|
checkAspectRatio(position: string, cropperPosition: CropperPosition, maxSize: Dimensions, settings: CropperSettings): void;
|
|
10
|
-
getClientX(event:
|
|
11
|
-
getClientY(event:
|
|
11
|
+
getClientX(event: Event | BasicEvent | TouchEvent): number;
|
|
12
|
+
getClientY(event: Event | BasicEvent | TouchEvent): number;
|
|
12
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<CropperPositionService, never>;
|
|
13
14
|
static ɵprov: i0.ɵɵInjectableDeclaration<CropperPositionService>;
|
|
14
15
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type HammerStatic = new (element: HTMLElement | SVGElement, options?: any) => HammerManager;
|
|
2
2
|
/** @docs-private */
|
|
3
3
|
export interface HammerManager {
|
|
4
4
|
get(eventName: string): HammerManager;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BasicEvent } from "../interfaces/basic-event.interface";
|
|
1
2
|
export declare function getPositionForKey(key: string): string;
|
|
2
3
|
export declare function getInvertedPositionForKey(key: string): string;
|
|
3
|
-
export declare function getEventForKey(key: string, stepSize: number):
|
|
4
|
+
export declare function getEventForKey(key: string, stepSize: number): BasicEvent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-image-cropper",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "An image cropper for Angular",
|
|
5
5
|
"author": "Martijn Willekens",
|
|
6
6
|
"repository": {
|
|
@@ -13,10 +13,8 @@
|
|
|
13
13
|
"homepage": "https://github.com/Mawi137/ngx-image-cropper",
|
|
14
14
|
"keywords": [
|
|
15
15
|
"angular",
|
|
16
|
-
"angular 13",
|
|
17
|
-
"angular 14",
|
|
18
|
-
"angular 15",
|
|
19
16
|
"angular 16",
|
|
17
|
+
"angular 17",
|
|
20
18
|
"ionic",
|
|
21
19
|
"ionic-angular",
|
|
22
20
|
"cropper",
|
|
@@ -24,26 +22,20 @@
|
|
|
24
22
|
],
|
|
25
23
|
"license": "MIT",
|
|
26
24
|
"peerDependencies": {
|
|
27
|
-
"@angular/common": ">=
|
|
28
|
-
"@angular/core": ">=
|
|
25
|
+
"@angular/common": ">=16.0.0",
|
|
26
|
+
"@angular/core": ">=16.0.0"
|
|
29
27
|
},
|
|
30
|
-
"module": "
|
|
31
|
-
"
|
|
32
|
-
"esm2020": "esm2020/ngx-image-cropper.mjs",
|
|
33
|
-
"fesm2020": "fesm2020/ngx-image-cropper.mjs",
|
|
34
|
-
"fesm2015": "fesm2015/ngx-image-cropper.mjs",
|
|
35
|
-
"typings": "ngx-image-cropper.d.ts",
|
|
28
|
+
"module": "fesm2022/ngx-image-cropper.mjs",
|
|
29
|
+
"typings": "index.d.ts",
|
|
36
30
|
"exports": {
|
|
37
31
|
"./package.json": {
|
|
38
32
|
"default": "./package.json"
|
|
39
33
|
},
|
|
40
34
|
".": {
|
|
41
|
-
"types": "./
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"node": "./fesm2015/ngx-image-cropper.mjs",
|
|
46
|
-
"default": "./fesm2020/ngx-image-cropper.mjs"
|
|
35
|
+
"types": "./index.d.ts",
|
|
36
|
+
"esm2022": "./esm2022/ngx-image-cropper.mjs",
|
|
37
|
+
"esm": "./esm2022/ngx-image-cropper.mjs",
|
|
38
|
+
"default": "./fesm2022/ngx-image-cropper.mjs"
|
|
47
39
|
}
|
|
48
40
|
},
|
|
49
41
|
"sideEffects": false,
|
package/public-api.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './lib/component/image-cropper.component';
|
|
2
|
+
export * from './lib/services/crop.service';
|
|
3
|
+
export * from './lib/services/load-image.service';
|
|
4
|
+
export * from './lib/interfaces';
|
|
5
|
+
export { base64ToFile } from './lib/utils/blob.utils';
|
|
6
|
+
export { resizeCanvas } from './lib/utils/resize.utils';
|
package/esm2020/index.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './lib/component/image-cropper.component';
|
|
2
|
-
export * from './lib/services/crop.service';
|
|
3
|
-
export * from './lib/services/load-image.service';
|
|
4
|
-
export * from './lib/image-cropper.module';
|
|
5
|
-
export * from './lib/interfaces';
|
|
6
|
-
export { base64ToFile } from './lib/utils/blob.utils';
|
|
7
|
-
export { resizeCanvas } from './lib/utils/resize.utils';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW1hZ2UtY3JvcHBlci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQvaW1hZ2UtY3JvcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY3JvcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvYWQtaW1hZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJztcbmV4cG9ydCB7IGJhc2U2NFRvRmlsZSB9IGZyb20gJy4vbGliL3V0aWxzL2Jsb2IudXRpbHMnO1xuZXhwb3J0IHsgcmVzaXplQ2FudmFzIH0gZnJvbSAnLi9saWIvdXRpbHMvcmVzaXplLnV0aWxzJztcbiJdfQ==
|