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.
Files changed (45) hide show
  1. package/README.md +10 -29
  2. package/esm2022/lib/component/image-cropper.component.mjs +636 -0
  3. package/esm2022/lib/interfaces/basic-event.interface.mjs +2 -0
  4. package/{esm2020 → esm2022}/lib/services/crop.service.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/services/cropper-position.service.mjs +16 -6
  6. package/esm2022/lib/services/load-image.service.mjs +201 -0
  7. package/{esm2020 → esm2022}/lib/utils/keyboard.utils.mjs +1 -1
  8. package/esm2022/public-api.mjs +7 -0
  9. package/{fesm2020 → fesm2022}/ngx-image-cropper.mjs +36 -47
  10. package/fesm2022/ngx-image-cropper.mjs.map +1 -0
  11. package/index.d.ts +5 -7
  12. package/lib/component/image-cropper.component.d.ts +5 -4
  13. package/lib/interfaces/basic-event.interface.d.ts +4 -0
  14. package/lib/interfaces/cropper-options.interface.d.ts +2 -2
  15. package/lib/services/cropper-position.service.d.ts +5 -4
  16. package/lib/utils/hammer.utils.d.ts +1 -1
  17. package/lib/utils/keyboard.utils.d.ts +2 -1
  18. package/package.json +10 -18
  19. package/public-api.d.ts +6 -1
  20. package/esm2020/index.mjs +0 -8
  21. package/esm2020/lib/component/image-cropper.component.mjs +0 -635
  22. package/esm2020/lib/image-cropper.module.mjs +0 -26
  23. package/esm2020/lib/services/load-image.service.mjs +0 -200
  24. package/esm2020/public-api.mjs +0 -2
  25. package/fesm2015/ngx-image-cropper.mjs +0 -1483
  26. package/fesm2015/ngx-image-cropper.mjs.map +0 -1
  27. package/fesm2020/ngx-image-cropper.mjs.map +0 -1
  28. package/lib/image-cropper.module.d.ts +0 -8
  29. package/ngx-image-cropper.d.ts +0 -5
  30. /package/{esm2020 → esm2022}/lib/interfaces/cropper-options.interface.mjs +0 -0
  31. /package/{esm2020 → esm2022}/lib/interfaces/cropper-position.interface.mjs +0 -0
  32. /package/{esm2020 → esm2022}/lib/interfaces/cropper.settings.mjs +0 -0
  33. /package/{esm2020 → esm2022}/lib/interfaces/dimensions.interface.mjs +0 -0
  34. /package/{esm2020 → esm2022}/lib/interfaces/exif-transform.interface.mjs +0 -0
  35. /package/{esm2020 → esm2022}/lib/interfaces/image-cropped-event.interface.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/interfaces/image-transform.interface.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/interfaces/index.mjs +0 -0
  38. /package/{esm2020 → esm2022}/lib/interfaces/loaded-image.interface.mjs +0 -0
  39. /package/{esm2020 → esm2022}/lib/interfaces/move-start.interface.mjs +0 -0
  40. /package/{esm2020 → esm2022}/lib/utils/blob.utils.mjs +0 -0
  41. /package/{esm2020 → esm2022}/lib/utils/exif.utils.mjs +0 -0
  42. /package/{esm2020 → esm2022}/lib/utils/hammer.utils.mjs +0 -0
  43. /package/{esm2020 → esm2022}/lib/utils/percentage.utils.mjs +0 -0
  44. /package/{esm2020 → esm2022}/lib/utils/resize.utils.mjs +0 -0
  45. /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?: any;
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: any): void;
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: any, moveType: MoveTypes, position?: string | null): void;
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
  }
@@ -0,0 +1,4 @@
1
+ export interface BasicEvent {
2
+ clientX: number;
3
+ clientY: number;
4
+ }
@@ -24,5 +24,5 @@ export interface CropperOptions {
24
24
  hideResizeSquares: boolean;
25
25
  alignImage: 'left' | 'center';
26
26
  }
27
- export declare type OutputFormat = 'png' | 'jpeg' | 'bmp' | 'webp' | 'ico';
28
- export declare type OutputType = 'base64' | 'blob';
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: any, moveStart: MoveStart, cropperPosition: CropperPosition): void;
8
- resize(event: any, moveStart: MoveStart, cropperPosition: CropperPosition, maxSize: Dimensions, settings: CropperSettings): void;
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: any): number;
11
- getClientY(event: any): number;
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 declare type HammerStatic = new (element: HTMLElement | SVGElement, options?: any) => HammerManager;
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): any;
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": "7.2.0",
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": ">=13.0.0",
28
- "@angular/core": ">=13.0.0"
25
+ "@angular/common": ">=16.0.0",
26
+ "@angular/core": ">=16.0.0"
29
27
  },
30
- "module": "fesm2015/ngx-image-cropper.mjs",
31
- "es2020": "fesm2020/ngx-image-cropper.mjs",
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": "./ngx-image-cropper.d.ts",
42
- "esm2020": "./esm2020/ngx-image-cropper.mjs",
43
- "es2020": "./fesm2020/ngx-image-cropper.mjs",
44
- "es2015": "./fesm2015/ngx-image-cropper.mjs",
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 './index';
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==