@bensitu/image-editor 2.0.0 → 2.2.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 (147) hide show
  1. package/README.md +346 -90
  2. package/dist/cjs/index.cjs +4883 -1191
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/esm/animation/animation-queue.js +16 -9
  5. package/dist/esm/animation/animation-queue.js.map +1 -1
  6. package/dist/esm/annotation/annotation-lock.js +7 -0
  7. package/dist/esm/annotation/annotation-lock.js.map +1 -0
  8. package/dist/esm/annotation/annotation-manager.js +217 -0
  9. package/dist/esm/annotation/annotation-manager.js.map +1 -0
  10. package/dist/esm/annotation/annotation-style.js +50 -0
  11. package/dist/esm/annotation/annotation-style.js.map +1 -0
  12. package/dist/esm/annotation/draw-controller.js +114 -0
  13. package/dist/esm/annotation/draw-controller.js.map +1 -0
  14. package/dist/esm/annotation/text-controller.js +234 -0
  15. package/dist/esm/annotation/text-controller.js.map +1 -0
  16. package/dist/esm/core/default-options.js +447 -11
  17. package/dist/esm/core/default-options.js.map +1 -1
  18. package/dist/esm/core/editor-object-kind.js +37 -0
  19. package/dist/esm/core/editor-object-kind.js.map +1 -0
  20. package/dist/esm/core/errors.js +19 -0
  21. package/dist/esm/core/errors.js.map +1 -1
  22. package/dist/esm/core/layer-order.js +100 -0
  23. package/dist/esm/core/layer-order.js.map +1 -0
  24. package/dist/esm/core/operation-guard.js +28 -0
  25. package/dist/esm/core/operation-guard.js.map +1 -1
  26. package/dist/esm/core/public-types.js +34 -1
  27. package/dist/esm/core/public-types.js.map +1 -1
  28. package/dist/esm/core/state-serializer.js +108 -27
  29. package/dist/esm/core/state-serializer.js.map +1 -1
  30. package/dist/esm/crop/crop-controller.js +6 -2
  31. package/dist/esm/crop/crop-controller.js.map +1 -1
  32. package/dist/esm/export/export-format.js.map +1 -1
  33. package/dist/esm/export/export-service.js +140 -141
  34. package/dist/esm/export/export-service.js.map +1 -1
  35. package/dist/esm/export/overlay-merge-service.js +75 -0
  36. package/dist/esm/export/overlay-merge-service.js.map +1 -0
  37. package/dist/esm/fabric/fabric-animation.js +56 -4
  38. package/dist/esm/fabric/fabric-animation.js.map +1 -1
  39. package/dist/esm/history/history-manager.js +2 -2
  40. package/dist/esm/history/history-manager.js.map +1 -1
  41. package/dist/esm/image/image-loader.js +27 -65
  42. package/dist/esm/image/image-loader.js.map +1 -1
  43. package/dist/esm/image/image-resampler.js +7 -2
  44. package/dist/esm/image/image-resampler.js.map +1 -1
  45. package/dist/esm/image/layout-manager.js +2 -20
  46. package/dist/esm/image/layout-manager.js.map +1 -1
  47. package/dist/esm/image/transform-controller.js.map +1 -1
  48. package/dist/esm/image-editor.js +1474 -135
  49. package/dist/esm/image-editor.js.map +1 -1
  50. package/dist/esm/index.js +1 -1
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/mask/mask-factory.js +92 -43
  53. package/dist/esm/mask/mask-factory.js.map +1 -1
  54. package/dist/esm/mask/mask-label-manager.js +2 -0
  55. package/dist/esm/mask/mask-label-manager.js.map +1 -1
  56. package/dist/esm/mask/mask-list.js +9 -3
  57. package/dist/esm/mask/mask-list.js.map +1 -1
  58. package/dist/esm/mask/mask-style.js.map +1 -1
  59. package/dist/esm/mosaic/mosaic-controller.js +666 -0
  60. package/dist/esm/mosaic/mosaic-controller.js.map +1 -0
  61. package/dist/esm/mosaic/mosaic-geometry.js +81 -0
  62. package/dist/esm/mosaic/mosaic-geometry.js.map +1 -0
  63. package/dist/esm/mosaic/mosaic-pixelate.js +71 -0
  64. package/dist/esm/mosaic/mosaic-pixelate.js.map +1 -0
  65. package/dist/esm/ui/dom-bindings.js +10 -3
  66. package/dist/esm/ui/dom-bindings.js.map +1 -1
  67. package/dist/esm/utils/image-element-loader.js +55 -0
  68. package/dist/esm/utils/image-element-loader.js.map +1 -0
  69. package/dist/esm/utils/number.js.map +1 -1
  70. package/dist/esm/utils/pointer.js +28 -0
  71. package/dist/esm/utils/pointer.js.map +1 -0
  72. package/dist/types/animation/animation-queue.d.ts.map +1 -1
  73. package/dist/types/annotation/annotation-lock.d.ts +12 -0
  74. package/dist/types/annotation/annotation-lock.d.ts.map +1 -0
  75. package/dist/types/annotation/annotation-manager.d.ts +33 -0
  76. package/dist/types/annotation/annotation-manager.d.ts.map +1 -0
  77. package/dist/types/annotation/annotation-style.d.ts +13 -0
  78. package/dist/types/annotation/annotation-style.d.ts.map +1 -0
  79. package/dist/types/annotation/draw-controller.d.ts +43 -0
  80. package/dist/types/annotation/draw-controller.d.ts.map +1 -0
  81. package/dist/types/annotation/text-controller.d.ts +47 -0
  82. package/dist/types/annotation/text-controller.d.ts.map +1 -0
  83. package/dist/types/core/default-options.d.ts +46 -6
  84. package/dist/types/core/default-options.d.ts.map +1 -1
  85. package/dist/types/core/editor-object-kind.d.ts +29 -0
  86. package/dist/types/core/editor-object-kind.d.ts.map +1 -0
  87. package/dist/types/core/errors.d.ts +12 -2
  88. package/dist/types/core/errors.d.ts.map +1 -1
  89. package/dist/types/core/layer-order.d.ts +21 -0
  90. package/dist/types/core/layer-order.d.ts.map +1 -0
  91. package/dist/types/core/operation-guard.d.ts +2 -0
  92. package/dist/types/core/operation-guard.d.ts.map +1 -1
  93. package/dist/types/core/public-types.d.ts +341 -33
  94. package/dist/types/core/public-types.d.ts.map +1 -1
  95. package/dist/types/core/state-serializer.d.ts +32 -5
  96. package/dist/types/core/state-serializer.d.ts.map +1 -1
  97. package/dist/types/crop/crop-controller.d.ts +6 -7
  98. package/dist/types/crop/crop-controller.d.ts.map +1 -1
  99. package/dist/types/export/export-format.d.ts +5 -33
  100. package/dist/types/export/export-format.d.ts.map +1 -1
  101. package/dist/types/export/export-service.d.ts +24 -15
  102. package/dist/types/export/export-service.d.ts.map +1 -1
  103. package/dist/types/export/overlay-merge-service.d.ts +38 -0
  104. package/dist/types/export/overlay-merge-service.d.ts.map +1 -0
  105. package/dist/types/fabric/fabric-animation.d.ts.map +1 -1
  106. package/dist/types/history/history-manager.d.ts +11 -14
  107. package/dist/types/history/history-manager.d.ts.map +1 -1
  108. package/dist/types/image/image-loader.d.ts +24 -21
  109. package/dist/types/image/image-loader.d.ts.map +1 -1
  110. package/dist/types/image/image-resampler.d.ts +2 -2
  111. package/dist/types/image/image-resampler.d.ts.map +1 -1
  112. package/dist/types/image/layout-manager.d.ts +5 -49
  113. package/dist/types/image/layout-manager.d.ts.map +1 -1
  114. package/dist/types/image/transform-controller.d.ts +6 -9
  115. package/dist/types/image/transform-controller.d.ts.map +1 -1
  116. package/dist/types/image-editor.d.ts +93 -14
  117. package/dist/types/image-editor.d.ts.map +1 -1
  118. package/dist/types/index.d.cts +3 -3
  119. package/dist/types/index.d.cts.map +1 -1
  120. package/dist/types/index.d.ts +3 -3
  121. package/dist/types/index.d.ts.map +1 -1
  122. package/dist/types/mask/mask-factory.d.ts +24 -21
  123. package/dist/types/mask/mask-factory.d.ts.map +1 -1
  124. package/dist/types/mask/mask-label-manager.d.ts +10 -9
  125. package/dist/types/mask/mask-label-manager.d.ts.map +1 -1
  126. package/dist/types/mask/mask-list.d.ts +11 -12
  127. package/dist/types/mask/mask-list.d.ts.map +1 -1
  128. package/dist/types/mask/mask-style.d.ts +19 -20
  129. package/dist/types/mask/mask-style.d.ts.map +1 -1
  130. package/dist/types/mosaic/mosaic-controller.d.ts +82 -0
  131. package/dist/types/mosaic/mosaic-controller.d.ts.map +1 -0
  132. package/dist/types/mosaic/mosaic-geometry.d.ts +29 -0
  133. package/dist/types/mosaic/mosaic-geometry.d.ts.map +1 -0
  134. package/dist/types/mosaic/mosaic-pixelate.d.ts +23 -0
  135. package/dist/types/mosaic/mosaic-pixelate.d.ts.map +1 -0
  136. package/dist/types/ui/dom-bindings.d.ts +3 -1
  137. package/dist/types/ui/dom-bindings.d.ts.map +1 -1
  138. package/dist/types/ui/visibility-state.d.ts +2 -2
  139. package/dist/types/utils/image-element-loader.d.ts +19 -0
  140. package/dist/types/utils/image-element-loader.d.ts.map +1 -0
  141. package/dist/types/utils/number.d.ts +1 -2
  142. package/dist/types/utils/number.d.ts.map +1 -1
  143. package/dist/types/utils/pointer.d.ts +16 -0
  144. package/dist/types/utils/pointer.d.ts.map +1 -0
  145. package/dist/umd/image-editor.umd.js +1 -1
  146. package/dist/umd/image-editor.umd.js.map +1 -1
  147. package/package.json +1 -1
@@ -55,6 +55,20 @@ export type NormalizedImageFormat = 'jpeg' | 'png' | 'webp';
55
55
  * - `'canvas'` exports the full Fabric canvas.
56
56
  */
57
57
  export type ExportArea = 'image' | 'canvas';
58
+ export type EditorObjectKind = 'baseImage' | 'mask' | 'annotation' | 'session';
59
+ export type AnnotationType = 'text' | 'draw';
60
+ export type SessionObjectType = 'cropRect' | 'maskLabel' | 'mosaicPreviewCircle' | 'mosaicPreviewImage' | 'textPreview' | 'drawPreview';
61
+ export type EditorToolMode = 'crop' | 'mosaic' | 'text' | 'draw';
62
+ export interface EditorObjectMeta {
63
+ editorObjectKind: EditorObjectKind;
64
+ }
65
+ export interface BaseImageObject extends FabricNS.FabricImage {
66
+ editorObjectKind: 'baseImage';
67
+ }
68
+ export interface SessionObject extends FabricNS.FabricObject {
69
+ editorObjectKind: 'session';
70
+ sessionObjectType: SessionObjectType;
71
+ }
58
72
  /**
59
73
  * Intermediate raster format used by `applyCrop`.
60
74
  *
@@ -62,6 +76,14 @@ export type ExportArea = 'image' | 'canvas';
62
76
  * the Fabric canvas when it is known, falling back to PNG otherwise.
63
77
  */
64
78
  export type CropExportFileType = ImageFileType | 'source';
79
+ /**
80
+ * Intermediate raster format used by Mosaic mode when committing edited
81
+ * pixels back into the base image.
82
+ *
83
+ * `'source'` preserves the current image MIME type when known, falling back
84
+ * to PNG otherwise.
85
+ */
86
+ export type MosaicOutputFileType = ImageFileType | 'source';
65
87
  /**
66
88
  * A Fabric.js object augmented with mask-specific runtime properties.
67
89
  * Returned from {@link ImageEditor.createMask} and exposed in mask-related
@@ -72,10 +94,11 @@ export type CropExportFileType = ImageFileType | 'source';
72
94
  * history snapshots by the state serializer.
73
95
  */
74
96
  export interface MaskObject extends FabricNS.FabricObject {
97
+ editorObjectKind: 'mask';
75
98
  /** Unique numeric identifier assigned at creation time. */
76
99
  maskId: number;
77
100
  /** Stable internal identifier used to restore overlapping masks deterministically. */
78
- maskUid?: string;
101
+ maskUid: string;
79
102
  /** Human-readable label shown in the mask list (`maskName` option + id). */
80
103
  maskName: string;
81
104
  /** Original opacity stored to support hover highlight / restore. */
@@ -86,24 +109,37 @@ export interface MaskObject extends FabricNS.FabricObject {
86
109
  originalStrokeWidth?: number;
87
110
  /** Active label overlay object, if currently displayed. */
88
111
  labelObject?: FabricNS.FabricObject;
89
- /** Marker flag — `true` only on the crop rectangle, never on real masks. */
90
- isCropRect?: boolean;
91
- /**
92
- * Marker flag set on label-overlay text objects so the state serializer
93
- * can exclude them from history snapshots.
94
- */
95
- maskLabel?: boolean;
112
+ }
113
+ export interface AnnotationObject extends FabricNS.FabricObject {
114
+ editorObjectKind: 'annotation';
115
+ annotationId: number;
116
+ annotationType: AnnotationType;
117
+ annotationName: string;
118
+ annotationHidden?: boolean;
119
+ annotationLocked?: boolean;
120
+ }
121
+ export interface TextAnnotationObject extends AnnotationObject {
122
+ annotationType: 'text';
123
+ }
124
+ export interface DrawAnnotationObject extends AnnotationObject {
125
+ annotationType: 'draw';
96
126
  }
97
127
  /**
98
128
  * Type guard — returns `true` when `object` carries the runtime mask metadata
99
129
  * (`maskId: number`) so consumers can filter `canvas.getObjects`
100
130
  * deterministically.
101
131
  */
102
- export declare function isMaskObject(object: FabricNS.FabricObject): object is MaskObject;
132
+ export declare function isBaseImageObject(object: unknown): object is BaseImageObject;
133
+ export declare function isMaskObject(object: unknown): object is MaskObject;
134
+ export declare function isAnnotationObject(object: unknown): object is AnnotationObject;
135
+ export declare function isTextAnnotationObject(object: unknown): object is TextAnnotationObject;
136
+ export declare function isDrawAnnotationObject(object: unknown): object is DrawAnnotationObject;
137
+ export declare function isSessionObject(object: unknown): object is SessionObject;
138
+ export declare function isEditableOverlayObject(object: unknown): object is MaskObject | AnnotationObject;
103
139
  /**
104
140
  * Public operation/reason associated with lifecycle and state callbacks.
105
141
  */
106
- export type ImageEditorOperation = 'init' | 'loadImage' | 'loadFromState' | 'saveState' | 'scaleImage' | 'rotateImage' | 'resetImageTransform' | 'createMask' | 'removeSelectedMask' | 'removeAllMasks' | 'mergeMasks' | 'enterCropMode' | 'applyCrop' | 'cancelCrop' | 'undo' | 'redo' | 'exportImageBase64' | 'exportImageFile' | 'downloadImage' | 'dispose';
142
+ export type ImageEditorOperation = 'init' | 'loadImage' | 'loadFromState' | 'saveState' | 'scaleImage' | 'rotateImage' | 'resetImageTransform' | 'createMask' | 'removeSelectedMask' | 'removeAllMasks' | 'mergeMasks' | 'createTextAnnotation' | 'enterTextMode' | 'exitTextMode' | 'setTextConfig' | 'resetTextConfig' | 'setTextColor' | 'setTextFontSize' | 'enterDrawMode' | 'exitDrawMode' | 'setDrawConfig' | 'resetDrawConfig' | 'setDrawColor' | 'setDrawBrushSize' | 'updateSelectedAnnotation' | 'updateAnnotation' | 'removeSelectedAnnotation' | 'removeAllAnnotations' | 'deleteSelectedObject' | 'mergeAnnotations' | 'bringSelectedObjectForward' | 'sendSelectedObjectBackward' | 'bringSelectedObjectToFront' | 'sendSelectedObjectToBack' | 'enterCropMode' | 'applyCrop' | 'cancelCrop' | 'enterMosaicMode' | 'exitMosaicMode' | 'applyMosaic' | 'setMosaicConfig' | 'resetMosaicConfig' | 'setMosaicBrushSize' | 'setMosaicBlockSize' | 'undo' | 'redo' | 'exportImageBase64' | 'exportImageFile' | 'downloadImage' | 'dispose';
107
143
  /**
108
144
  * Context passed to lifecycle and state callbacks.
109
145
  */
@@ -136,10 +172,15 @@ export interface ImageEditorState {
136
172
  hasImage: boolean;
137
173
  image: ImageInfo | null;
138
174
  maskCount: number;
175
+ annotationCount: number;
139
176
  currentScale: number;
140
177
  currentRotation: number;
141
178
  isBusy: boolean;
179
+ activeToolMode: EditorToolMode | null;
142
180
  isCropMode: boolean;
181
+ isMosaicMode: boolean;
182
+ isTextMode: boolean;
183
+ isDrawMode: boolean;
143
184
  canUndo: boolean;
144
185
  canRedo: boolean;
145
186
  canvasWidth: number;
@@ -151,6 +192,9 @@ export interface ImageEditorState {
151
192
  export interface ImageEditorSelection {
152
193
  selectedMask: MaskObject | null;
153
194
  selectedMasks: MaskObject[];
195
+ selectedAnnotation: AnnotationObject | null;
196
+ selectedAnnotations: AnnotationObject[];
197
+ selectedObjectKind: 'mask' | 'annotation' | null;
154
198
  }
155
199
  /**
156
200
  * Configuration for the label shown above a selected mask.
@@ -228,6 +272,156 @@ export interface CropConfig {
228
272
  * `downsampleQuality`".
229
273
  */
230
274
  export type ResolvedCropConfig = Required<Omit<CropConfig, 'exportQuality'>> & Pick<CropConfig, 'exportQuality'>;
275
+ /**
276
+ * Mosaic-mode configuration. Constructor-level `defaultMosaicConfig` uses
277
+ * this shape to initialize the editor's current Mosaic tool config; runtime
278
+ * setters update only the current config.
279
+ */
280
+ export interface MosaicConfig {
281
+ /**
282
+ * Brush diameter in canvas pixels.
283
+ * The preview circle uses this diameter.
284
+ * @default 48
285
+ */
286
+ brushSize?: number;
287
+ /**
288
+ * Pixel block size in source-image pixels.
289
+ * Larger values produce chunkier mosaic.
290
+ * @default 8
291
+ */
292
+ blockSize?: number;
293
+ /**
294
+ * Stroke color for the brush preview circle.
295
+ * @default '#333'
296
+ */
297
+ previewStroke?: string;
298
+ /**
299
+ * Stroke width for the brush preview circle.
300
+ * @default 1
301
+ */
302
+ previewStrokeWidth?: number;
303
+ /**
304
+ * Optional dash pattern for the brush preview circle.
305
+ * @default [4, 4]
306
+ */
307
+ previewStrokeDashArray?: readonly number[] | null;
308
+ /**
309
+ * Fill for the brush preview circle.
310
+ * @default 'rgba(0,0,0,0)'
311
+ */
312
+ previewFill?: string;
313
+ /**
314
+ * Output format used when committing the mosaiced base image.
315
+ *
316
+ * - 'source' preserves the current image MIME type when known.
317
+ * - image format values follow the same normalization rules as export.
318
+ *
319
+ * @default 'source'
320
+ */
321
+ outputFileType?: MosaicOutputFileType;
322
+ /**
323
+ * Lossy quality used when outputFileType resolves to jpeg/webp.
324
+ * Ignored for PNG. Defaults to options.downsampleQuality.
325
+ */
326
+ outputQuality?: number;
327
+ }
328
+ /**
329
+ * Mosaic config after defaults and normalization are applied.
330
+ */
331
+ export interface ResolvedMosaicConfig {
332
+ brushSize: number;
333
+ blockSize: number;
334
+ previewStroke: string;
335
+ previewStrokeWidth: number;
336
+ previewStrokeDashArray: readonly number[] | null;
337
+ previewFill: string;
338
+ outputFileType: MosaicOutputFileType;
339
+ outputQuality?: number;
340
+ }
341
+ export interface TextAnnotationConfig {
342
+ text?: string;
343
+ left?: MaskNumericProp;
344
+ top?: MaskNumericProp;
345
+ width?: number;
346
+ fontSize?: number;
347
+ fontFamily?: string;
348
+ fontWeight?: string | number;
349
+ fill?: string;
350
+ backgroundColor?: string;
351
+ textAlign?: 'left' | 'center' | 'right' | 'justify';
352
+ angle?: number;
353
+ selectable?: boolean;
354
+ evented?: boolean;
355
+ editable?: boolean;
356
+ enterEditing?: boolean;
357
+ annotationHidden?: boolean;
358
+ annotationLocked?: boolean;
359
+ styles?: Partial<FabricNS.TextboxProps>;
360
+ }
361
+ export interface ResolvedTextAnnotationConfig {
362
+ text: string;
363
+ left?: number;
364
+ top?: number;
365
+ width: number;
366
+ fontSize: number;
367
+ fontFamily: string;
368
+ fontWeight: string | number;
369
+ fill: string;
370
+ backgroundColor: string;
371
+ textAlign: 'left' | 'center' | 'right' | 'justify';
372
+ angle: number;
373
+ selectable: boolean;
374
+ evented: boolean;
375
+ editable: boolean;
376
+ enterEditing: boolean;
377
+ annotationHidden: boolean;
378
+ annotationLocked: boolean;
379
+ styles: Partial<FabricNS.TextboxProps>;
380
+ }
381
+ export interface DrawConfig {
382
+ brushSize?: number;
383
+ color?: string;
384
+ opacity?: number;
385
+ lineCap?: CanvasLineCap;
386
+ lineJoin?: CanvasLineJoin;
387
+ selectable?: boolean;
388
+ evented?: boolean;
389
+ annotationHidden?: boolean;
390
+ annotationLocked?: boolean;
391
+ }
392
+ export interface ResolvedDrawConfig {
393
+ brushSize: number;
394
+ color: string;
395
+ opacity: number;
396
+ lineCap: CanvasLineCap;
397
+ lineJoin: CanvasLineJoin;
398
+ selectable: boolean;
399
+ evented: boolean;
400
+ annotationHidden: boolean;
401
+ annotationLocked: boolean;
402
+ }
403
+ export interface CommonAnnotationUpdateConfig {
404
+ annotationHidden?: boolean;
405
+ annotationLocked?: boolean;
406
+ selectable?: boolean;
407
+ evented?: boolean;
408
+ }
409
+ export interface TextAnnotationUpdateConfig extends CommonAnnotationUpdateConfig {
410
+ text?: string;
411
+ fontSize?: number;
412
+ fontFamily?: string;
413
+ fontWeight?: string | number;
414
+ fill?: string;
415
+ backgroundColor?: string;
416
+ textAlign?: 'left' | 'center' | 'right' | 'justify';
417
+ width?: number;
418
+ }
419
+ export interface DrawAnnotationUpdateConfig extends CommonAnnotationUpdateConfig {
420
+ stroke?: string;
421
+ strokeWidth?: number;
422
+ opacity?: number;
423
+ }
424
+ export type AnnotationUpdateConfig = TextAnnotationUpdateConfig | DrawAnnotationUpdateConfig | CommonAnnotationUpdateConfig;
231
425
  /**
232
426
  * A numeric property that may be provided as:
233
427
  * - a plain `number` in canvas pixels,
@@ -323,6 +517,13 @@ export interface MaskConfig {
323
517
  */
324
518
  fabricGenerator?: (config: ResolvedMaskConfig, canvas: FabricNS.Canvas, options: ResolvedOptions) => FabricNS.FabricObject;
325
519
  }
520
+ /**
521
+ * Constructor-level defaults applied to newly created masks.
522
+ *
523
+ * Uses the same shape as {@link MaskConfig}, except lifecycle hooks and custom
524
+ * Fabric object factories remain per-call only.
525
+ */
526
+ export type DefaultMaskConfig = Omit<Partial<MaskConfig>, 'onCreate' | 'fabricGenerator'>;
326
527
  /**
327
528
  * Fully resolved mask config produced after defaults and percentage resolution
328
529
  * have been applied. Exposed because consumers may receive it via
@@ -361,6 +562,13 @@ export interface RemoveAllMasksOptions {
361
562
  */
362
563
  saveHistory?: boolean;
363
564
  }
565
+ /**
566
+ * Options accepted by `ImageEditor.removeAllAnnotations(options?)`.
567
+ */
568
+ export interface RemoveAllAnnotationsOptions {
569
+ saveHistory?: boolean;
570
+ force?: boolean;
571
+ }
364
572
  /**
365
573
  * Mapping from logical control names to actual DOM element IDs on the page.
366
574
  * Any key may be omitted; the default ID is the same as the key name.
@@ -395,6 +603,40 @@ export interface ElementIdMap {
395
603
  removeAllMasksButton?: string | null;
396
604
  /** Merge masks into image button. @default 'mergeMasksButton' */
397
605
  mergeMasksButton?: string | null;
606
+ /** Annotation list container (`<ul>` or `<ol>`). @default 'annotationList' */
607
+ annotationList?: string | null;
608
+ /** Enter Text mode button. @default 'enterTextModeButton' */
609
+ enterTextModeButton?: string | null;
610
+ /** Exit Text mode button. @default 'exitTextModeButton' */
611
+ exitTextModeButton?: string | null;
612
+ /** Text color input. @default 'textColorInput' */
613
+ textColorInput?: string | null;
614
+ /** Text font-size input. @default 'textFontSizeInput' */
615
+ textFontSizeInput?: string | null;
616
+ /** Enter Draw mode button. @default 'enterDrawModeButton' */
617
+ enterDrawModeButton?: string | null;
618
+ /** Exit Draw mode button. @default 'exitDrawModeButton' */
619
+ exitDrawModeButton?: string | null;
620
+ /** Draw color input. @default 'drawColorInput' */
621
+ drawColorInput?: string | null;
622
+ /** Draw brush-size input. @default 'drawBrushSizeInput' */
623
+ drawBrushSizeInput?: string | null;
624
+ /** Remove selected annotation button. @default 'removeSelectedAnnotationButton' */
625
+ removeSelectedAnnotationButton?: string | null;
626
+ /** Remove all annotations button. @default 'removeAllAnnotationsButton' */
627
+ removeAllAnnotationsButton?: string | null;
628
+ /** Delete selected mask or annotation button. @default 'deleteSelectedObjectButton' */
629
+ deleteSelectedObjectButton?: string | null;
630
+ /** Merge annotations into image button. @default 'mergeAnnotationsButton' */
631
+ mergeAnnotationsButton?: string | null;
632
+ /** Move selected editable overlay one layer forward. */
633
+ bringSelectedObjectForwardButton?: string | null;
634
+ /** Move selected editable overlay one layer backward. */
635
+ sendSelectedObjectBackwardButton?: string | null;
636
+ /** Move selected editable overlay to the front of overlays. */
637
+ bringSelectedObjectToFrontButton?: string | null;
638
+ /** Move selected editable overlay to the back of overlays. */
639
+ sendSelectedObjectToBackButton?: string | null;
398
640
  /** Download image button. @default 'downloadImageButton' */
399
641
  downloadImageButton?: string | null;
400
642
  /** Mask list container (`<ul>` or `<ol>`). @default 'maskList' */
@@ -417,21 +659,45 @@ export interface ElementIdMap {
417
659
  applyCropButton?: string | null;
418
660
  /** Cancel crop button. @default 'cancelCropButton' */
419
661
  cancelCropButton?: string | null;
662
+ /** Enter Mosaic mode button. @default 'enterMosaicModeButton' */
663
+ enterMosaicModeButton?: string | null;
664
+ /** Exit Mosaic mode button. @default 'exitMosaicModeButton' */
665
+ exitMosaicModeButton?: string | null;
666
+ /**
667
+ * Optional input/range control for Mosaic brush diameter.
668
+ * @default 'mosaicBrushSizeInput'
669
+ */
670
+ mosaicBrushSizeInput?: string | null;
671
+ /**
672
+ * Optional input/range control for Mosaic block size.
673
+ * @default 'mosaicBlockSizeInput'
674
+ */
675
+ mosaicBlockSizeInput?: string | null;
420
676
  /** Clickable upload area (delegates to imageInput). @default 'uploadArea' */
421
677
  uploadArea?: string | null;
422
678
  }
679
+ export interface OverlayExportOptions {
680
+ /**
681
+ * Render masks into the exported output. This does not mutate editor state.
682
+ * @default options.mergeMasksByDefault
683
+ */
684
+ mergeMasks?: boolean;
685
+ /**
686
+ * Render annotations into the exported output. This does not mutate editor state.
687
+ * @default options.mergeAnnotationsByDefault
688
+ */
689
+ mergeAnnotations?: boolean;
690
+ }
423
691
  /**
424
692
  * Options for {@link ImageEditor.exportImageBase64}.
425
693
  *
426
694
  * Both `fileType` and `format` are accepted — when both are provided,
427
- * `fileType` wins. The export pipeline normalizes `'jpg'` to `'jpeg'`,
428
- * derives the MIME type via `export/export-format.ts`, and clamps `quality`
429
- * to `[0, 1]`. PNG ignores `quality` because it is
430
- * lossless.
695
+ * `fileType` wins. The export pipeline normalizes `'jpg'` to
696
+ * `'jpeg'`, derives the MIME type via `export/export-format.ts`,
697
+ * and clamps `quality` to `[0, 1]`. PNG ignores `quality` because it
698
+ * is lossless.
431
699
  */
432
- export interface Base64ExportOptions {
433
- /** Whether masks are flattened into the exported result. @default true */
434
- mergeMask?: boolean;
700
+ export interface Base64ExportOptions extends OverlayExportOptions {
435
701
  /**
436
702
  * Which region to export. `'image'` clips to the image bounding box;
437
703
  * `'canvas'` exports the full canvas.
@@ -457,9 +723,7 @@ export interface Base64ExportOptions {
457
723
  * `fileType` follows the same normalization rules as
458
724
  * {@link Base64ExportOptions}.
459
725
  */
460
- export interface ImageFileExportOptions {
461
- /** Bake masks into the exported image. @default true */
462
- mergeMask?: boolean;
726
+ export interface ImageFileExportOptions extends OverlayExportOptions {
463
727
  /**
464
728
  * Which region to export. `'image'` clips to the image bounding box;
465
729
  * `'canvas'` exports the full canvas.
@@ -475,6 +739,17 @@ export interface ImageFileExportOptions {
475
739
  /** Filename for the resulting `File` object. */
476
740
  fileName?: string;
477
741
  }
742
+ /**
743
+ * Options for {@link ImageEditor.downloadImage}.
744
+ *
745
+ * `mergeMasks` and `mergeAnnotations` match the Base64/File export behavior:
746
+ * omitted values fall back to `mergeMasksByDefault` and
747
+ * `mergeAnnotationsByDefault`.
748
+ */
749
+ export interface DownloadImageOptions extends OverlayExportOptions {
750
+ /** Filename used by the generated download link. */
751
+ fileName?: string;
752
+ }
478
753
  /**
479
754
  * Configuration passed to the {@link ImageEditor} constructor.
480
755
  *
@@ -500,18 +775,16 @@ export interface ImageEditorOptions {
500
775
  /** Rotation step in degrees. Non-finite values fall back to the default. @default 90 */
501
776
  rotationStep?: number;
502
777
  /**
503
- * Expand the canvas to fit the loaded image (no scroll required for
504
- * images smaller than their natural size). @default true
505
- */
506
- expandCanvasToImage?: boolean;
507
- /** Scale the image down to fit inside the visible workspace. @default false */
508
- fitImageToCanvas?: boolean;
509
- /**
510
- * Scale large images down to cover the visible workspace, cap at native
511
- * size, and expand overflowing canvas axes so the container can scroll.
512
- * @default false
778
+ * Initial layout mode used for image loads until changed by
779
+ * {@link ImageEditor.setLayoutMode}.
780
+ *
781
+ * Invalid JavaScript runtime values fall back to `'expand'` during
782
+ * construction. Use `setLayoutMode()` to change the mode for future
783
+ * image loads.
784
+ *
785
+ * @default 'expand'
513
786
  */
514
- coverImageToCanvas?: boolean;
787
+ defaultLayoutMode?: LayoutMode;
515
788
  /** Downsample very large images on load. @default true */
516
789
  downsampleOnLoad?: boolean;
517
790
  /** Max pixel width before downsampling kicks in. @default 4000 */
@@ -565,11 +838,23 @@ export interface ImageEditorOptions {
565
838
  * exportImageBase64/exportImageFile/downloadImage.
566
839
  * @default true
567
840
  */
568
- mergeMaskByDefault?: boolean;
841
+ mergeMasksByDefault?: boolean;
842
+ /**
843
+ * Default annotation compositing behavior for
844
+ * exportImageBase64/exportImageFile/downloadImage.
845
+ * @default true
846
+ */
847
+ mergeAnnotationsByDefault?: boolean;
569
848
  /** Default width for new rect/ellipse masks. @default 50 */
570
849
  defaultMaskWidth?: number;
571
850
  /** Default height for new rect/ellipse masks. @default 80 */
572
851
  defaultMaskHeight?: number;
852
+ /**
853
+ * Global defaults used by {@link ImageEditor.createMask}.
854
+ *
855
+ * Per-call `createMask(config)` values override these defaults.
856
+ */
857
+ defaultMaskConfig?: DefaultMaskConfig;
573
858
  /** Allow masks to be rotated by the user. @default false */
574
859
  maskRotatable?: boolean;
575
860
  /** Show a name label above a selected mask. @default true */
@@ -578,6 +863,10 @@ export interface ImageEditorOptions {
578
863
  maskLabelOffset?: number;
579
864
  /** Name prefix for auto-generated mask names. @default 'mask' */
580
865
  maskName?: string;
866
+ /** Name prefix for auto-generated text annotations. @default 'text' */
867
+ textAnnotationName?: string;
868
+ /** Name prefix for auto-generated draw annotations. @default 'draw' */
869
+ drawAnnotationName?: string;
581
870
  /** Allow multi-object group selection on the canvas. @default false */
582
871
  groupSelection?: boolean;
583
872
  /** Show a placeholder when no image is loaded. @default true */
@@ -603,6 +892,8 @@ export interface ImageEditorOptions {
603
892
  onEditorDisposed?: (context: ImageEditorCallbackContext) => void;
604
893
  /** Called after the mask collection changes. */
605
894
  onMasksChanged?: (masks: MaskObject[], context: ImageEditorCallbackContext) => void;
895
+ /** Called after the annotation collection changes. */
896
+ onAnnotationsChanged?: (annotations: AnnotationObject[], context: ImageEditorCallbackContext) => void;
606
897
  /** Called after mask selection changes. */
607
898
  onSelectionChange?: (selection: ImageEditorSelection, context: ImageEditorCallbackContext) => void;
608
899
  /**
@@ -623,17 +914,33 @@ export interface ImageEditorOptions {
623
914
  label?: LabelConfig;
624
915
  /** Crop-mode configuration. */
625
916
  crop?: CropConfig;
917
+ /**
918
+ * Default Mosaic configuration used to initialize the current Mosaic tool config.
919
+ *
920
+ * Runtime calls such as setMosaicConfig(), setMosaicBrushSize(), and
921
+ * setMosaicBlockSize() update the current tool config only.
922
+ */
923
+ defaultMosaicConfig?: MosaicConfig;
924
+ /** Default Text annotation configuration. */
925
+ defaultTextConfig?: TextAnnotationConfig;
926
+ /** Default Draw mode configuration. */
927
+ defaultDrawConfig?: DrawConfig;
626
928
  }
627
929
  /**
628
930
  * Fully resolved options with every required field guaranteed present.
629
931
  * Produced by `core/default-options.ts` after merging defaults with the
630
932
  * user-supplied partial options.
631
933
  */
632
- export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'label' | 'crop' | 'onImageLoadStart' | 'onImageLoaded' | 'onImageCleared' | 'onImageChanged' | 'onBusyChange' | 'onEditorDisposed' | 'onMasksChanged' | 'onSelectionChange' | 'onError' | 'onWarning' | 'downsampleQuality' | 'maxExportPixels'>> {
934
+ export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'label' | 'crop' | 'defaultMosaicConfig' | 'defaultTextConfig' | 'defaultDrawConfig' | 'onImageLoadStart' | 'onImageLoaded' | 'onImageCleared' | 'onImageChanged' | 'onBusyChange' | 'onEditorDisposed' | 'onMasksChanged' | 'onAnnotationsChanged' | 'onSelectionChange' | 'onError' | 'onWarning' | 'downsampleQuality' | 'maxExportPixels'>> {
633
935
  downsampleQuality: number;
634
936
  maxExportPixels: number;
937
+ /** Current layout mode used by future image loads. */
938
+ layoutMode: LayoutMode;
635
939
  label: LabelConfig;
636
940
  crop: ResolvedCropConfig;
941
+ defaultMosaicConfig: ResolvedMosaicConfig;
942
+ defaultTextConfig: ResolvedTextAnnotationConfig;
943
+ defaultDrawConfig: ResolvedDrawConfig;
637
944
  onImageLoadStart: ((context: ImageEditorCallbackContext) => void) | null;
638
945
  onImageLoaded: ((imageInfo: ImageInfo, context: ImageEditorCallbackContext) => void) | null;
639
946
  onImageCleared: ((previousImage: FabricNS.FabricImage | null, context: ImageEditorCallbackContext) => void) | null;
@@ -641,6 +948,7 @@ export interface ResolvedOptions extends Required<Omit<ImageEditorOptions, 'labe
641
948
  onBusyChange: ((isBusy: boolean, context: ImageEditorCallbackContext) => void) | null;
642
949
  onEditorDisposed: ((context: ImageEditorCallbackContext) => void) | null;
643
950
  onMasksChanged: ((masks: MaskObject[], context: ImageEditorCallbackContext) => void) | null;
951
+ onAnnotationsChanged: ((annotations: AnnotationObject[], context: ImageEditorCallbackContext) => void) | null;
644
952
  onSelectionChange: ((selection: ImageEditorSelection, context: ImageEditorCallbackContext) => void) | null;
645
953
  onError: ((error: unknown, message: string) => void) | null;
646
954
  onWarning: ((error: unknown, message: string) => void) | null;
@@ -1 +1 @@
1
- {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../../../src/core/public-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../../../src/core/public-types.ts"],"names":[],"mappings":"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"}