@bensitu/image-editor 1.2.1 → 1.3.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 +17 -27
- package/dist/image-editor.esm.js +1753 -864
- package/dist/image-editor.esm.js.map +3 -3
- package/dist/image-editor.esm.min.js +3 -8
- package/dist/image-editor.esm.min.js.map +3 -3
- package/dist/image-editor.esm.min.mjs +3 -8
- package/dist/image-editor.esm.min.mjs.map +3 -3
- package/dist/image-editor.esm.mjs +1753 -864
- package/dist/image-editor.esm.mjs.map +3 -3
- package/dist/image-editor.js +1753 -864
- package/dist/image-editor.js.map +3 -3
- package/dist/image-editor.min.js +2 -7
- package/dist/image-editor.min.js.map +3 -3
- package/image-editor.d.ts +41 -9
- package/package.json +1 -1
- package/src/image-editor.js +1955 -903
package/image-editor.d.ts
CHANGED
|
@@ -4,13 +4,16 @@ declare module '@bensitu/image-editor' {
|
|
|
4
4
|
import { Canvas, Image as FabricImage, Object as FabricObject } from 'fabric';
|
|
5
5
|
|
|
6
6
|
export interface LabelOptions {
|
|
7
|
-
|
|
7
|
+
/** Receives the mask and its stable zero-based creation index (`mask.maskId - 1`). */
|
|
8
|
+
getText?: (mask: MaskObject, creationIndex: number) => string;
|
|
8
9
|
create?: (mask: MaskObject, fabric: any) => FabricObject;
|
|
9
10
|
textOptions?: Record<string, any>;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export interface CropOptions {
|
|
14
|
+
/** Minimum crop rectangle width, clamped to the current image bounds. */
|
|
13
15
|
minWidth?: number;
|
|
16
|
+
/** Minimum crop rectangle height, clamped to the current image bounds. */
|
|
14
17
|
minHeight?: number;
|
|
15
18
|
padding?: number;
|
|
16
19
|
hideMasksDuringCrop?: boolean;
|
|
@@ -36,6 +39,7 @@ declare module '@bensitu/image-editor' {
|
|
|
36
39
|
downsampleMaxWidth?: number;
|
|
37
40
|
downsampleMaxHeight?: number;
|
|
38
41
|
downsampleQuality?: number;
|
|
42
|
+
imageLoadTimeoutMs?: number;
|
|
39
43
|
|
|
40
44
|
exportMultiplier?: number;
|
|
41
45
|
exportImageAreaByDefault?: boolean;
|
|
@@ -95,7 +99,7 @@ declare module '@bensitu/image-editor' {
|
|
|
95
99
|
radius?: number | string | ((canvas: Canvas, options: ImageEditorOptions) => number);
|
|
96
100
|
rx?: number | string | ((canvas: Canvas, options: ImageEditorOptions) => number);
|
|
97
101
|
ry?: number | string | ((canvas: Canvas, options: ImageEditorOptions) => number);
|
|
98
|
-
points?: Array<{ x: number; y: number }>;
|
|
102
|
+
points?: Array<{ x: number; y: number }> | Array<[number, number]>;
|
|
99
103
|
color?: string;
|
|
100
104
|
alpha?: number;
|
|
101
105
|
gap?: number;
|
|
@@ -124,6 +128,9 @@ declare module '@bensitu/image-editor' {
|
|
|
124
128
|
export interface Base64ExportOptions {
|
|
125
129
|
exportImageArea?: boolean;
|
|
126
130
|
multiplier?: number;
|
|
131
|
+
quality?: number;
|
|
132
|
+
fileType?: 'jpeg' | 'jpg' | 'png' | 'webp' | 'image/jpeg' | 'image/png' | 'image/webp';
|
|
133
|
+
format?: 'jpeg' | 'jpg' | 'png' | 'webp' | 'image/jpeg' | 'image/png' | 'image/webp';
|
|
127
134
|
}
|
|
128
135
|
|
|
129
136
|
export interface ImageFileExportOptions {
|
|
@@ -134,11 +141,26 @@ declare module '@bensitu/image-editor' {
|
|
|
134
141
|
fileName?: string;
|
|
135
142
|
}
|
|
136
143
|
|
|
144
|
+
export interface RemoveAllMasksOptions {
|
|
145
|
+
saveHistory?: boolean;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface LoadImageOptions {
|
|
149
|
+
preserveScroll?: boolean;
|
|
150
|
+
}
|
|
151
|
+
|
|
137
152
|
export class ImageEditor {
|
|
138
153
|
readonly options: ImageEditorOptions;
|
|
139
154
|
readonly canvas: Canvas | null;
|
|
155
|
+
readonly canvasElement: HTMLCanvasElement | null;
|
|
156
|
+
readonly containerElement: HTMLElement | null;
|
|
157
|
+
readonly placeholderElement: HTMLElement | null;
|
|
158
|
+
/** @deprecated Use canvasElement instead. This alias will be removed in v2.0.0. */
|
|
140
159
|
readonly canvasEl: HTMLCanvasElement | null;
|
|
160
|
+
/** @deprecated Use containerElement instead. This alias will be removed in v2.0.0. */
|
|
141
161
|
readonly containerEl: HTMLElement | null;
|
|
162
|
+
/** @deprecated Use placeholderElement instead. This alias will be removed in v2.0.0. */
|
|
163
|
+
readonly placeholderEl: HTMLElement | null;
|
|
142
164
|
readonly originalImage: FabricImage | null;
|
|
143
165
|
readonly currentScale: number;
|
|
144
166
|
readonly currentRotation: number;
|
|
@@ -149,30 +171,40 @@ declare module '@bensitu/image-editor' {
|
|
|
149
171
|
constructor(options?: ImageEditorOptions);
|
|
150
172
|
|
|
151
173
|
init(idMap?: ElementIdMap): void;
|
|
152
|
-
loadImage(
|
|
174
|
+
loadImage(imageBase64: string, options?: LoadImageOptions): Promise<void>;
|
|
153
175
|
isImageLoaded(): boolean;
|
|
154
176
|
|
|
177
|
+
/** Public callers should pass only `factor`; internal history control options are intentionally not exposed. */
|
|
155
178
|
scaleImage(factor: number): Promise<void>;
|
|
179
|
+
/** Public callers should pass only `degrees`; internal history control options are intentionally not exposed. */
|
|
156
180
|
rotateImage(degrees: number): Promise<void>;
|
|
181
|
+
resetImageTransform(): Promise<void>;
|
|
182
|
+
/** @deprecated Use resetImageTransform() instead. This alias will be removed in v2.0.0. */
|
|
157
183
|
reset(): Promise<void>;
|
|
158
184
|
|
|
185
|
+
createMask(config?: MaskConfig): MaskObject | null;
|
|
186
|
+
/** @deprecated Use createMask() instead. This alias will be removed in v2.0.0. */
|
|
159
187
|
addMask(config?: MaskConfig): MaskObject | null;
|
|
160
188
|
removeSelectedMask(): void;
|
|
161
|
-
removeAllMasks(): void;
|
|
189
|
+
removeAllMasks(options?: RemoveAllMasksOptions): void;
|
|
162
190
|
|
|
191
|
+
mergeMasks(): Promise<void>;
|
|
192
|
+
/** @deprecated Use mergeMasks() instead. This alias will be removed in v2.0.0. */
|
|
163
193
|
merge(): Promise<void>;
|
|
164
194
|
downloadImage(fileName?: string): void;
|
|
165
|
-
|
|
166
|
-
|
|
195
|
+
exportImageBase64(options?: Base64ExportOptions): Promise<string>;
|
|
196
|
+
/** @deprecated Use exportImageBase64() instead. This alias will be removed in v2.0.0. */
|
|
197
|
+
getImageBase64(options?: Base64ExportOptions): Promise<string>;
|
|
198
|
+
exportImageFile(options?: ImageFileExportOptions): Promise<File>;
|
|
167
199
|
|
|
168
200
|
enterCropMode(): void;
|
|
169
201
|
cancelCrop(): void;
|
|
170
202
|
applyCrop(): Promise<void>;
|
|
171
203
|
|
|
172
|
-
undo(): void
|
|
173
|
-
redo(): void
|
|
204
|
+
undo(): Promise<void>;
|
|
205
|
+
redo(): Promise<void>;
|
|
174
206
|
saveState(): void;
|
|
175
|
-
loadFromState(
|
|
207
|
+
loadFromState(serializedState: string | object): Promise<void>;
|
|
176
208
|
|
|
177
209
|
dispose(): void;
|
|
178
210
|
}
|