@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
@@ -3,8 +3,7 @@
3
3
  * `image-loader` pipeline. The layout manager owns three concerns
4
4
  * used by the image-load pipeline:
5
5
  *
6
- * 1. Selecting exactly one layout strategy per load using the
7
- * precedence `fit > cover > expand`.
6
+ * 1. Selecting the layout strategy from the current canonical layout mode.
8
7
  * 2. Computing canvas dimensions and image scale for the selected
9
8
  * strategy.
10
9
  * 3. Measuring the visible container viewport with a hidden-tab cache
@@ -26,59 +25,16 @@
26
25
  * @module
27
26
  */
28
27
  import type * as FabricNS from 'fabric';
29
- import type { ResolvedOptions } from '../core/public-types.js';
28
+ import type { LayoutMode } from '../core/public-types.js';
30
29
  /**
31
30
  * Discriminator for the active layout strategy. Exactly one value is
32
31
  * returned by {@link selectLayoutStrategy} per `loadImage` call.
33
32
  */
34
- export type LayoutStrategy = 'fit' | 'cover' | 'expand';
33
+ export type LayoutStrategy = LayoutMode;
35
34
  /**
36
- * Subset of {@link ResolvedOptions} consumed by strategy selection.
37
- *
38
- * The accepted boolean flags in precedence order are
39
- * `fitImageToCanvas`, `coverImageToCanvas`, and `expandCanvasToImage`.
35
+ * Choose the active layout strategy from the current layout mode.
40
36
  */
41
- export type LayoutFlags = Pick<ResolvedOptions, 'fitImageToCanvas' | 'coverImageToCanvas' | 'expandCanvasToImage'>;
42
- /**
43
- * Choose the active layout strategy using the documented precedence
44
- * `fit > cover > expand`.
45
- *
46
- * The selection is a pure function of the boolean flags — it is
47
- * independent of the order in which the option keys were declared,
48
- * of any prior load, and of any prior canvas state.
49
- *
50
- * When all three flags are `false` the function falls back to
51
- * `'expand'`. This matches the default-options resolution which sets
52
- * `expandCanvasToImage: true` by default, and gives a deterministic
53
- * answer even if a consumer disables every layout flag.
54
- *
55
- */
56
- export declare function selectLayoutStrategy(options: LayoutFlags): LayoutStrategy;
57
- /**
58
- * Inspect the layout flags and report whether `fitImageToCanvas` and
59
- * `coverImageToCanvas` are both enabled — the only pairing that is a
60
- * real conflict because both rescale the image to the canvas viewport
61
- * but with different aspect-ratio strategies. `expandCanvasToImage`
62
- * defaults to `true`, so combining it with one of the other two is
63
- * normal usage (the user providedOptions into a per-load override) and is not
64
- * flagged.
65
- *
66
- * The selected strategy still follows the precedence in
67
- * {@link selectLayoutStrategy}; this helper exists so the facade can
68
- * emit a single warning through the documented reporting path when a
69
- * real conflict is detected.
70
- *
71
- * `null` is returned when no conflict is present.
72
- */
73
- export interface LayoutConflict {
74
- /** Strategies the caller had enabled simultaneously. */
75
- readonly enabled: readonly LayoutStrategy[];
76
- /** The strategy actually selected by `selectLayoutStrategy`. */
77
- readonly selected: LayoutStrategy;
78
- /** Human-readable summary suitable for `onWarning` consumers. */
79
- readonly message: string;
80
- }
81
- export declare function detectLayoutConflict(options: LayoutFlags): LayoutConflict | null;
37
+ export declare function selectLayoutStrategy(mode: LayoutMode): LayoutStrategy;
82
38
  /**
83
39
  * Two-axis viewport size in CSS pixels.
84
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"layout-manager.d.ts","sourceRoot":"","sources":["../../../src/image/layout-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-manager.d.ts","sourceRoot":"","sources":["../../../src/image/layout-manager.ts"],"names":[],"mappings":"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"}
@@ -59,14 +59,12 @@
59
59
  *
60
60
  * ## Why a class with a context bundle?
61
61
  *
62
- * The legacy monolithic `ImageEditor` owned all transform state. This module keeps that
63
- * state on the facade so `currentScale`, `currentRotation`,
64
- * `baseImageScale`, and `shouldSuppressSaveState` remain on a single owner
65
- * (these are part of the snapshot wire format). The
66
- * controller therefore reads and writes through the
62
+ * This module keeps transform state on the facade so `currentScale`,
63
+ * `currentRotation`, `baseImageScale`, and `shouldSuppressSaveState`
64
+ * remain on a single owner (these are part of the snapshot wire format).
65
+ * The controller therefore reads and writes through the
67
66
  * {@link TransformContext} accessor pairs rather than duplicating the
68
- * fields. Mirrors the same pattern used by
69
- * `LoadImageContext`.
67
+ * fields. It mirrors the same pattern used by `LoadImageContext`.
70
68
  *
71
69
  * Owner module references (per the documented "Mapping Contracts to
72
70
  * modules" table): this module is imported by `image-editor.ts`. It is
@@ -148,8 +146,7 @@ export interface TransformContext {
148
146
  * AFTER the controller commits the final value with `set` /
149
147
  * `setCoords` and BEFORE `saveCanvasState`. Used to:
150
148
  *
151
- * - resize the canvas to image bounds when
152
- * `options.expandCanvasToImage` is `true`,
149
+ * - resize the canvas according to the current layout mode,
153
150
  * - re-align the image bounding box to the canvas top-left,
154
151
  * - re-sync mask label positions for visible labels.
155
152
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transform-controller.d.ts","sourceRoot":"","sources":["../../../src/image/transform-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,gBAAgB;IAC7B,0DAA0D;IAC1D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,mEAAmE;IACnE,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB,sDAAsD;IACtD,gBAAgB,IAAI,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;IAEhD,4BAA4B;IAC5B,eAAe,IAAI,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,0CAA0C;IAC1C,kBAAkB,IAAI,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,kDAAkD;IAClD,iBAAiB,IAAI,MAAM,CAAC;IAE5B;;;;;;;OAOG;IACH,eAAe,IAAI,IAAI,CAAC;IAExB;;;;;;;OAOG;IACH,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9C;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,IAAI,IAAI,CAAC;CAC/B;AAID;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C;;OAEG;gBACS,OAAO,EAAE,gBAAgB;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0EjD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7C"}
1
+ {"version":3,"file":"transform-controller.d.ts","sourceRoot":"","sources":["../../../src/image/transform-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,gBAAgB;IAC7B,0DAA0D;IAC1D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,mEAAmE;IACnE,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB,sDAAsD;IACtD,gBAAgB,IAAI,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;IAEhD,4BAA4B;IAC5B,eAAe,IAAI,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,0CAA0C;IAC1C,kBAAkB,IAAI,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,kDAAkD;IAClD,iBAAiB,IAAI,MAAM,CAAC;IAE5B;;;;;;;OAOG;IACH,eAAe,IAAI,IAAI,CAAC;IAExB;;;;;;;OAOG;IACH,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9C;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,IAAI,IAAI,CAAC;CAC/B;AAID;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C;;OAEG;gBACS,OAAO,EAAE,gBAAgB;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0EjD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7C"}
@@ -2,12 +2,13 @@
2
2
  * @author Ben Situ
3
3
  * @license MIT
4
4
  * Lightweight canvas-based image editor built on Fabric.js v7.
5
- * Provides masking, animated scale/rotate, crop, undo/redo, and export.
5
+ * Provides masks, annotations, animated transforms, crop, mosaic, undo/redo,
6
+ * serialization, and export.
6
7
  *
7
8
  * @module
8
9
  */
9
10
  import { type CanvasJson } from './core/state-serializer.js';
10
- import type { Base64ExportOptions, ElementIdMap, FabricModule, ImageEditorOptions, ImageFileExportOptions, LayoutMode, LoadImageOptions, MaskConfig, MaskObject, RemoveAllMasksOptions } from './core/public-types.js';
11
+ import type { AnnotationObject, AnnotationUpdateConfig, Base64ExportOptions, DownloadImageOptions, DrawConfig, ElementIdMap, FabricModule, ImageEditorOptions, ImageFileExportOptions, LayoutMode, LoadImageOptions, MaskConfig, MaskObject, MosaicConfig, RemoveAllAnnotationsOptions, RemoveAllMasksOptions, ResolvedDrawConfig, ResolvedMosaicConfig, ResolvedTextAnnotationConfig, TextAnnotationConfig, TextAnnotationObject } from './core/public-types.js';
11
12
  /**
12
13
  * Lightweight Fabric.js v7 image editor with masking, animated transforms,
13
14
  * crop, undo/redo, and multi-format export.
@@ -32,6 +33,13 @@ export declare class ImageEditor {
32
33
  private fabricModule;
33
34
  private isFabricLoaded;
34
35
  private readonly options;
36
+ private currentLayoutMode;
37
+ private readonly defaultMosaicConfig;
38
+ private currentMosaicConfig;
39
+ private readonly defaultTextConfig;
40
+ private currentTextConfig;
41
+ private readonly defaultDrawConfig;
42
+ private currentDrawConfig;
35
43
  private canvas;
36
44
  private canvasElement;
37
45
  private containerElement;
@@ -48,6 +56,7 @@ export declare class ImageEditor {
48
56
  private currentImageMimeType;
49
57
  private maskCounter;
50
58
  private lastMask;
59
+ private annotationCounter;
51
60
  private lastSnapshot;
52
61
  private readonly historyManager;
53
62
  /**
@@ -87,6 +96,9 @@ export declare class ImageEditor {
87
96
  * own and multiple editors on the same page do not share crop state.
88
97
  */
89
98
  private cropSession;
99
+ private mosaicSession;
100
+ private textSession;
101
+ private drawSession;
90
102
  /**
91
103
  * Managed registry of DOM event listeners owned by this editor.
92
104
  *
@@ -97,6 +109,8 @@ export declare class ImageEditor {
97
109
  * `isDisposed === true`.
98
110
  */
99
111
  private domBindings;
112
+ private keyboardDocument;
113
+ private keyboardHandler;
100
114
  private isDisposed;
101
115
  /**
102
116
  * When `true`, {@link saveState} is a no-op. Used by
@@ -156,8 +170,14 @@ export declare class ImageEditor {
156
170
  */
157
171
  init(idMap?: ElementIdMap): void;
158
172
  private initCanvas;
173
+ private getLiveCanvasOrThrow;
159
174
  private bindDomEvents;
160
175
  private bindElementIfExists;
176
+ private bindKeyboardEvents;
177
+ private isNativeTextInputActive;
178
+ private isFabricTextEditingActive;
179
+ private handleKeyboardEvent;
180
+ private finalizeActiveTextEditingIfNeeded;
161
181
  /**
162
182
  * Read a `File` selected via the upload control as a base64 data URL
163
183
  * and route it through the transactional `loadImage` pipeline.
@@ -202,12 +222,14 @@ export declare class ImageEditor {
202
222
  * disposed states resolve without observable mutation.
203
223
  */
204
224
  loadImage(base64: string, options?: LoadImageOptions): Promise<void>;
225
+ private loadImageInternal;
205
226
  private getInternalOperationToken;
206
227
  private canRunDuringAnimationQueue;
207
228
  private withInternalOperationOptions;
208
229
  private withAnimationQueueBypass;
209
230
  private assertIdleForOperation;
210
231
  private canRunIdleOperation;
232
+ private isExpectedIdleGuardError;
211
233
  private assertCanQueueAnimation;
212
234
  /**
213
235
  * Returns `true` if a valid image is currently loaded on the canvas.
@@ -220,28 +242,27 @@ export declare class ImageEditor {
220
242
  /**
221
243
  * Selects the layout strategy used by subsequent image loads.
222
244
  *
223
- * The mode maps to the existing layout flags as a mutually exclusive
224
- * choice:
225
- *
226
- * - `'fit'` enables `fitImageToCanvas`.
227
- * - `'cover'` enables `coverImageToCanvas`.
228
- * - `'expand'` enables `expandCanvasToImage`.
229
- *
230
245
  * The current canvas is not re-laid out immediately; call this before
231
246
  * `loadImage()` to choose how the next image is placed.
232
247
  *
233
248
  * @param mode - Layout mode to use for future image loads.
234
249
  */
235
250
  setLayoutMode(mode: LayoutMode): void;
251
+ private getRuntimeOptions;
236
252
  private buildCallbackContext;
237
253
  private getOperationContext;
238
254
  private emitOptionCallback;
239
255
  private getImageInfo;
240
256
  private getMasks;
257
+ getAnnotations(): AnnotationObject[];
241
258
  private getMaskCollectionSignature;
259
+ private getAnnotationCollectionSignature;
260
+ private getActiveToolMode;
261
+ private isToolModeActive;
242
262
  private getEditorState;
243
263
  private emitImageChanged;
244
264
  private emitMasksChanged;
265
+ private emitAnnotationsChanged;
245
266
  private emitBusyChangeIfChanged;
246
267
  private buildSelection;
247
268
  private withSelectionChangeContext;
@@ -264,6 +285,7 @@ export declare class ImageEditor {
264
285
  */
265
286
  private alignObjectBoundingBoxToCanvasTopLeft;
266
287
  private measureLayoutViewport;
288
+ private getScrollbarStableViewportCanvasSize;
267
289
  /**
268
290
  * Resize the canvas to fit the transformed image bounds. Used by the
269
291
  * transform pipeline's `afterTransformSnap` hook so a post-rotation/scale
@@ -271,6 +293,7 @@ export declare class ImageEditor {
271
293
  */
272
294
  private updateCanvasSizeToImageBounds;
273
295
  private shouldNormalizeCanvasSizeAfterStateRestore;
296
+ private settleFitCoverScrollbarsAfterStateRestore;
274
297
  private captureImageDisplayGeometry;
275
298
  private restoreMergedImageDisplayGeometry;
276
299
  /**
@@ -355,7 +378,7 @@ export declare class ImageEditor {
355
378
  */
356
379
  saveState(): void;
357
380
  private saveStateInternal;
358
- private restoreActiveMaskAfterSnapshot;
381
+ private restoreActiveObjectAfterSnapshot;
359
382
  /**
360
383
  * Undoes the last recorded action.
361
384
  *
@@ -450,10 +473,52 @@ export declare class ImageEditor {
450
473
  private hideAllMaskLabels;
451
474
  private syncMaskLabel;
452
475
  private showLabelForMask;
476
+ private handleObjectMovingScalingRotating;
477
+ private handleObjectModified;
453
478
  private handleSelectionChanged;
454
479
  private buildMaskListContext;
455
480
  private updateMaskList;
456
481
  private updateMaskListSelection;
482
+ enterTextMode(): void;
483
+ exitTextMode(): void;
484
+ isTextMode(): boolean;
485
+ createTextAnnotation(config?: TextAnnotationConfig): TextAnnotationObject | null;
486
+ enterDrawMode(): void;
487
+ exitDrawMode(): void;
488
+ isDrawMode(): boolean;
489
+ getTextConfig(): Readonly<ResolvedTextAnnotationConfig>;
490
+ setTextConfig(config: TextAnnotationConfig): void;
491
+ resetTextConfig(): void;
492
+ setTextColor(color: string): void;
493
+ setTextFontSize(size: number): void;
494
+ getDrawConfig(): Readonly<ResolvedDrawConfig>;
495
+ setDrawConfig(config: DrawConfig): void;
496
+ resetDrawConfig(): void;
497
+ setDrawColor(color: string): void;
498
+ setDrawBrushSize(size: number): void;
499
+ removeSelectedAnnotation(): void;
500
+ removeAllAnnotations(options?: RemoveAllAnnotationsOptions): void;
501
+ updateAnnotation(annotationId: number, config: AnnotationUpdateConfig): void;
502
+ updateSelectedAnnotation(config: AnnotationUpdateConfig): void;
503
+ deleteSelectedObject(): void;
504
+ bringSelectedObjectForward(): void;
505
+ sendSelectedObjectBackward(): void;
506
+ bringSelectedObjectToFront(): void;
507
+ sendSelectedObjectToBack(): void;
508
+ private buildAnnotationManagerContext;
509
+ private buildAnnotationListContext;
510
+ private updateAnnotationList;
511
+ private updateAnnotationListSelection;
512
+ private buildTextControllerContext;
513
+ private buildDrawControllerContext;
514
+ private applyTextConfigPatch;
515
+ private applyDrawConfigPatch;
516
+ private applyTextColorInput;
517
+ private applyTextFontSizeInput;
518
+ private applyDrawColorInput;
519
+ private applyDrawBrushSizeInput;
520
+ private getSelectedCanvasObjects;
521
+ private moveSelectedEditableObject;
457
522
  /**
458
523
  * Bakes all current masks into the image:
459
524
  * exports the masked image, removes the masks, and re-imports the result
@@ -484,10 +549,10 @@ export declare class ImageEditor {
484
549
  * which builds the data URL through the same pipeline used by
485
550
  * {@link exportImageBase64} and triggers the anchor-driven download.
486
551
  *
487
- * @param fileName - Filename for the downloaded file.
488
- * @default `options.defaultDownloadFileName`
552
+ * @param options - Filename string or download options. String input is
553
+ * treated as a filename for backwards compatibility.
489
554
  */
490
- downloadImage(fileName?: string): void;
555
+ downloadImage(options?: DownloadImageOptions | string): void;
491
556
  /**
492
557
  * Exports the canvas as a Base64-encoded data URL.
493
558
  *
@@ -527,7 +592,7 @@ export declare class ImageEditor {
527
592
  *
528
593
  * @example
529
594
  * ```ts
530
- * const file = await editor.exportImageFile({ fileType: 'png', mergeMask: false});
595
+ * const file = await editor.exportImageFile({ fileType: 'png', mergeMasks: false});
531
596
  * const formData = new FormData;
532
597
  * formData.append('image', file);
533
598
  * ```
@@ -547,6 +612,7 @@ export declare class ImageEditor {
547
612
  * the merge needs.
548
613
  */
549
614
  private buildMergeMasksContext;
615
+ private buildMergeAnnotationsContext;
550
616
  /**
551
617
  * Capture a snapshot string suitable for `loadFromState` without
552
618
  * pushing it onto the history stack. Used by the merge and crop
@@ -559,6 +625,17 @@ export declare class ImageEditor {
559
625
  */
560
626
  private captureSnapshotInternal;
561
627
  private getActiveMaskForSnapshot;
628
+ private getActiveAnnotationForSnapshot;
629
+ enterMosaicMode(): void;
630
+ exitMosaicMode(): void;
631
+ isMosaicMode(): boolean;
632
+ getMosaicConfig(): Readonly<ResolvedMosaicConfig>;
633
+ setMosaicConfig(config: MosaicConfig): void;
634
+ resetMosaicConfig(): void;
635
+ setMosaicBrushSize(size: number): void;
636
+ setMosaicBlockSize(size: number): void;
637
+ private applyMosaicConfigPatch;
638
+ private buildMosaicControllerContext;
562
639
  /**
563
640
  * Enters crop mode: adds a resizable selection rect to the canvas.
564
641
  * All other controls are disabled until {@link applyCrop} or
@@ -614,7 +691,9 @@ export declare class ImageEditor {
614
691
  * accessors all bind back to `this`.
615
692
  */
616
693
  private buildCropControllerContext;
694
+ private syncInputValue;
617
695
  private updateInputs;
696
+ mergeAnnotations(): Promise<void>;
618
697
  private updateUi;
619
698
  private setControlEnabled;
620
699
  private recordElementOriginalState;
@@ -1 +1 @@
1
- {"version":3,"file":"image-editor.d.ts","sourceRoot":"","sources":["../../src/image-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-editor.d.ts","sourceRoot":"","sources":["../../src/image-editor.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * The package surface consists of:
5
5
  * - `ImageEditor` (default and named export) — the only public class.
6
- * - `isMaskObject` runtime type guard for mask objects.
6
+ * - Editor object runtime type guards.
7
7
  * - The documented public types listed below.
8
8
  *
9
9
  * Internal helpers (animation queue, command, history manager, controllers,
@@ -26,6 +26,6 @@
26
26
  import { ImageEditor } from './image-editor.js';
27
27
  export { ImageEditor };
28
28
  export default ImageEditor;
29
- export { isMaskObject } from './core/public-types.js';
30
- export type { ImageEditorOptions, ResolvedOptions, LayoutMode, LabelConfig, CropConfig, CropExportFileType, LoadImageOptions, RemoveAllMasksOptions, MaskConfig, MaskObject, MaskNumericProp, ResolvedMaskConfig, ImageMimeType, ImageFileType, NormalizedImageFormat, ExportArea, Base64ExportOptions, ImageFileExportOptions, ImageInfo, ImageEditorState, ImageEditorSelection, ImageEditorCallbackContext, ImageEditorOperation, ElementIdMap, FabricModule, } from './core/public-types.js';
29
+ export { isAnnotationObject, isBaseImageObject, isDrawAnnotationObject, isEditableOverlayObject, isMaskObject, isSessionObject, isTextAnnotationObject, } from './core/public-types.js';
30
+ export type { ImageEditorOptions, ResolvedOptions, LayoutMode, EditorObjectKind, EditorToolMode, AnnotationType, SessionObjectType, EditorObjectMeta, LabelConfig, CropConfig, CropExportFileType, MosaicConfig, ResolvedMosaicConfig, MosaicOutputFileType, TextAnnotationConfig, ResolvedTextAnnotationConfig, DrawConfig, ResolvedDrawConfig, LoadImageOptions, RemoveAllMasksOptions, RemoveAllAnnotationsOptions, DefaultMaskConfig, MaskConfig, MaskObject, MaskNumericProp, ResolvedMaskConfig, BaseImageObject, SessionObject, AnnotationObject, TextAnnotationObject, DrawAnnotationObject, AnnotationUpdateConfig, ImageMimeType, ImageFileType, NormalizedImageFormat, ExportArea, Base64ExportOptions, ImageFileExportOptions, DownloadImageOptions, ImageInfo, ImageEditorState, ImageEditorSelection, ImageEditorCallbackContext, ImageEditorOperation, ElementIdMap, FabricModule, } from './core/public-types.js';
31
31
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,eAAe,WAAW,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,YAAY,EAER,kBAAkB,EAClB,eAAe,EACf,UAAU,EAEV,WAAW,EACX,UAAU,EACV,kBAAkB,EAElB,gBAAgB,EAChB,qBAAqB,EAErB,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAElB,aAAa,EACb,aAAa,EACb,qBAAqB,EAErB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EAEtB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EAEpB,YAAY,EAEZ,YAAY,GACf,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,eAAe,WAAW,CAAC;AAE3B,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,sBAAsB,GACzB,MAAM,wBAAwB,CAAC;AAIhC,YAAY,EAER,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAEhB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,kBAAkB,EAElB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAE3B,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAElB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EAEtB,aAAa,EACb,aAAa,EACb,qBAAqB,EAErB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EAEpB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EAEpB,YAAY,EAEZ,YAAY,GACf,MAAM,wBAAwB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * The package surface consists of:
5
5
  * - `ImageEditor` (default and named export) — the only public class.
6
- * - `isMaskObject` runtime type guard for mask objects.
6
+ * - Editor object runtime type guards.
7
7
  * - The documented public types listed below.
8
8
  *
9
9
  * Internal helpers (animation queue, command, history manager, controllers,
@@ -26,6 +26,6 @@
26
26
  import { ImageEditor } from './image-editor.js';
27
27
  export { ImageEditor };
28
28
  export default ImageEditor;
29
- export { isMaskObject } from './core/public-types.js';
30
- export type { ImageEditorOptions, ResolvedOptions, LayoutMode, LabelConfig, CropConfig, CropExportFileType, LoadImageOptions, RemoveAllMasksOptions, MaskConfig, MaskObject, MaskNumericProp, ResolvedMaskConfig, ImageMimeType, ImageFileType, NormalizedImageFormat, ExportArea, Base64ExportOptions, ImageFileExportOptions, ImageInfo, ImageEditorState, ImageEditorSelection, ImageEditorCallbackContext, ImageEditorOperation, ElementIdMap, FabricModule, } from './core/public-types.js';
29
+ export { isAnnotationObject, isBaseImageObject, isDrawAnnotationObject, isEditableOverlayObject, isMaskObject, isSessionObject, isTextAnnotationObject, } from './core/public-types.js';
30
+ export type { ImageEditorOptions, ResolvedOptions, LayoutMode, EditorObjectKind, EditorToolMode, AnnotationType, SessionObjectType, EditorObjectMeta, LabelConfig, CropConfig, CropExportFileType, MosaicConfig, ResolvedMosaicConfig, MosaicOutputFileType, TextAnnotationConfig, ResolvedTextAnnotationConfig, DrawConfig, ResolvedDrawConfig, LoadImageOptions, RemoveAllMasksOptions, RemoveAllAnnotationsOptions, DefaultMaskConfig, MaskConfig, MaskObject, MaskNumericProp, ResolvedMaskConfig, BaseImageObject, SessionObject, AnnotationObject, TextAnnotationObject, DrawAnnotationObject, AnnotationUpdateConfig, ImageMimeType, ImageFileType, NormalizedImageFormat, ExportArea, Base64ExportOptions, ImageFileExportOptions, DownloadImageOptions, ImageInfo, ImageEditorState, ImageEditorSelection, ImageEditorCallbackContext, ImageEditorOperation, ElementIdMap, FabricModule, } from './core/public-types.js';
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,eAAe,WAAW,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,YAAY,EAER,kBAAkB,EAClB,eAAe,EACf,UAAU,EAEV,WAAW,EACX,UAAU,EACV,kBAAkB,EAElB,gBAAgB,EAChB,qBAAqB,EAErB,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAElB,aAAa,EACb,aAAa,EACb,qBAAqB,EAErB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EAEtB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EAEpB,YAAY,EAEZ,YAAY,GACf,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,eAAe,WAAW,CAAC;AAE3B,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,sBAAsB,GACzB,MAAM,wBAAwB,CAAC;AAIhC,YAAY,EAER,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAEhB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,kBAAkB,EAElB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAE3B,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAElB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EAEtB,aAAa,EACb,aAAa,EACb,qBAAqB,EAErB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EAEpB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EAEpB,YAAY,EAEZ,YAAY,GACf,MAAM,wBAAwB,CAAC"}
@@ -16,7 +16,7 @@
16
16
  * - For `'rect' | 'circle' | 'ellipse' | 'polygon'`
17
17
  * the corresponding Fabric shape is built with explicit
18
18
  * `originX: 'left'`, `originY: 'top'`, plus the resolved color, opacity,
19
- * angle, and the user's `styles` block.
19
+ * angle, and the merged `styles` block.
20
20
  * - When `config.fabricGenerator` is supplied it is
21
21
  * called with `(resolvedConfig, canvas, options)` and its return value is
22
22
  * used verbatim as the mask object.
@@ -25,13 +25,14 @@
25
25
  * `saveState` → `config.onCreate(mask, canvas)`.
26
26
  * - `config.onCreate` is invoked exactly once,
27
27
  * strictly after `saveState` has run.
28
- * - Falsy values supplied via `config.styles` (`0`,
29
- * `false`, `null`, `''`, `NaN`) are applied verbatim. The factory does
30
- * NOT use `??` to default stroke / strokeWidth / strokeDashArray when the
31
- * key is explicitly present on `styles`.
32
- * - `hasControls`, `selectable`, `transparentCorners`,
33
- * `strokeUniform` use the `'foo' in config ? … : default` pattern so that
34
- * an explicit `false` is preserved.
28
+ * - Falsy values supplied via `options.defaultMaskConfig.styles` or
29
+ * `config.styles` (`0`, `false`, `null`, `''`, `NaN`) are applied
30
+ * verbatim. The factory does NOT use `??` to default stroke /
31
+ * strokeWidth / strokeDashArray when the key is explicitly present on
32
+ * the merged `styles`.
33
+ * - `hasControls`, `selectable`, `evented`, `transparentCorners`,
34
+ * `strokeUniform` use the `'foo' in mergedConfig ? … : default` pattern
35
+ * so that an explicit `false` is preserved.
35
36
  * - When a polygon mask is built, its visible
36
37
  * bounding-box top-left SHALL equal the resolved `(left, top)`. Fabric
37
38
  * v7's `Polygon` constructor positions the object so the polygon's
@@ -103,8 +104,8 @@ export interface CreateMaskContext {
103
104
  /** Save canvas state to history. */
104
105
  saveCanvasState(): void;
105
106
  /**
106
- * Optional canvas resize hook used when `options.expandCanvasToImage` is
107
- * `true` and the placed mask would extend past the current canvas size.
107
+ * Optional canvas resize hook used when `options.layoutMode` is
108
+ * `'expand'` and the placed mask would extend past the current canvas size.
108
109
  * If omitted, the factory calls `canvas.setDimensions` directly. The
109
110
  * orchestrator typically passes `setCanvasSizePx` here so the scroll
110
111
  * container reflows synchronously with the new canvas size.
@@ -117,19 +118,21 @@ export interface CreateMaskContext {
117
118
  *
118
119
  * Creation steps:
119
120
  *
120
- * 1. Resolve the config: apply defaults, then resolve placement
121
- * (`left`/`top`) and dimensions (`width`/`height`/`rx`/`ry`/`radius`)
122
- * via {@link resolveNumeric} so percentages and factory functions
123
- * collapse to pixel numbers before Fabric shape construction.
121
+ * 1. Resolve the config: apply built-in defaults, legacy mask size options,
122
+ * `options.defaultMaskConfig`, and per-call overrides, then resolve
123
+ * placement (`left`/`top`) and dimensions
124
+ * (`width`/`height`/`rx`/`ry`/`radius`) via {@link resolveNumeric} so
125
+ * percentages and factory functions collapse to pixel numbers before
126
+ * Fabric shape construction.
124
127
  * 2. Optionally expand the canvas if the placement would overflow.
125
- * 3. Build the Fabric shape — switch on `config.shape`, or call
126
- * `config.fabricGenerator` if provided.
128
+ * 3. Build the Fabric shape — switch on the merged `shape`, or call the
129
+ * per-call `config.fabricGenerator` if provided.
127
130
  * 4. Apply common mask properties. Falsy flags (`hasControls`,
128
- * `selectable`, `transparentCorners`, `strokeUniform`) use the
129
- * `'foo' in config ? … : default` pattern so an explicit `false` is
130
- * preserved. Stroke / strokeWidth /
131
- * strokeDashArray pulled out of `styles` use the same `in` check so
132
- * `null` and `0` are preserved verbatim.
131
+ * `selectable`, `evented`, `transparentCorners`, `strokeUniform`) use
132
+ * the `'foo' in mergedConfig ? … : default` pattern so an explicit
133
+ * `false` is preserved. Stroke / strokeWidth / strokeDashArray pulled
134
+ * out of `styles` use the same `in` check so `null` and `0` are
135
+ * preserved verbatim.
133
136
  * 5. Increment `maskCounter` and assign `maskId`, `maskName`,
134
137
  * `originalAlpha`.
135
138
  * 6. Post-create order: add to canvas → `updateMaskList` →
@@ -1 +1 @@
1
- {"version":3,"file":"mask-factory.d.ts","sourceRoot":"","sources":["../../../src/mask/mask-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,qBAAqB,EAErB,eAAe,EAClB,MAAM,yBAAyB,CAAC;AAcjC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAC9B,gEAAgE;IAChE,MAAM,EAAE,YAAY,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,eAAe,CAAC;IACzB,sEAAsE;IACtE,WAAW,IAAI,UAAU,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,gDAAgD;IAChD,cAAc,IAAI,MAAM,CAAC;IACzB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,+EAA+E;IAC/E,cAAc,IAAI,IAAI,CAAC;IACvB,oCAAoC;IACpC,eAAe,IAAI,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAE,UAAe,GAAG,UAAU,GAAG,IAAI,CAsSjG;AA6BD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC9B,2DAA2D;IAC3D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3C,yEAAyE;IACzE,cAAc,IAAI,IAAI,CAAC;IACvB,yDAAyD;IACzD,eAAe,IAAI,IAAI,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAYnE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,qBAA0B,GACpC,IAAI,CAqBN"}
1
+ {"version":3,"file":"mask-factory.d.ts","sourceRoot":"","sources":["../../../src/mask/mask-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAER,YAAY,EACZ,UAAU,EACV,UAAU,EACV,qBAAqB,EAErB,eAAe,EAClB,MAAM,yBAAyB,CAAC;AAcjC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAC9B,gEAAgE;IAChE,MAAM,EAAE,YAAY,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,eAAe,CAAC;IACzB,sEAAsE;IACtE,WAAW,IAAI,UAAU,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,gDAAgD;IAChD,cAAc,IAAI,MAAM,CAAC;IACzB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,+EAA+E;IAC/E,cAAc,IAAI,IAAI,CAAC;IACvB,oCAAoC;IACpC,eAAe,IAAI,IAAI,CAAC;IACxB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAsID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAE,UAAe,GAAG,UAAU,GAAG,IAAI,CAwSjG;AA6BD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC9B,2DAA2D;IAC3D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3C,yEAAyE;IACzE,cAAc,IAAI,IAAI,CAAC;IACvB,yDAAyD;IACzD,eAAe,IAAI,IAAI,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;CAC9C;AAsBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAcnE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,qBAA0B,GACpC,IAAI,CAqBN"}
@@ -1,18 +1,19 @@
1
1
  /**
2
2
  * Per-mask label overlay creation, positioning, show/hide, and
3
- * removal. Owns the legacy `createLabelForMask`, `syncMaskLabel`,
4
- * `showLabelForMask`, `hideAllMaskLabels`, and
5
- * `removeLabelForMask` logic that was inlined on the editor
6
- * in legacy and is now extracted into pure(ish) helpers that take a
7
- * {@link MaskLabelManagerContext}.
3
+ * removal.
4
+ *
5
+ * The ImageEditor facade owns the canvas and resolved options; this module
6
+ * receives those dependencies through {@link MaskLabelManagerContext} so
7
+ * label behavior can be tested without the full facade.
8
8
  *
9
9
  * ## Owned contracts
10
10
  *
11
11
  * - Label text is computed via
12
12
  * `options.label.getText(mask, mask.maskId - 1)`. The index argument is
13
13
  * the stable creation index (`maskId - 1`), NOT the live canvas list
14
- * position. legacy passed `this.maskCounter` here, which drifted whenever
15
- * masks were added or removed; the current contract pins the index to the
14
+ * position. Earlier implementations passed `this.maskCounter` here,
15
+ * which drifted whenever masks were added or removed; the current
16
+ * contract pins the index to the
16
17
  * mask's own identity so labels stay consistent across
17
18
  * `createMask` / `removeSelectedMask` / `removeAllMasks` / `undo`/`redo`.
18
19
  *
@@ -23,7 +24,7 @@
23
24
  * re-asserts them on every sync so an externally-mutated label still
24
25
  * honors the contract.
25
26
  *
26
- * - **Pretty_Printer filter** — Every label object is
27
+ * - **State serializer filter** — Every label object is
27
28
  * tagged with `maskLabel = true` so `core/state-serializer.ts` can
28
29
  * exclude it from history snapshots. Labels are session-only and never
29
30
  * persisted.
@@ -60,7 +61,7 @@ import type { FabricModule, MaskObject, ResolvedOptions } from '../core/public-t
60
61
  *
61
62
  * The module does NOT own any of these slots — it only reads them so
62
63
  * ownership of the canvas, Fabric module, and resolved options stays on the
63
- * orchestrator (where legacy left them).
64
+ * orchestrator.
64
65
  */
65
66
  export interface MaskLabelManagerContext {
66
67
  /** Injected Fabric.js v7 module used to construct the label text. */
@@ -1 +1 @@
1
- {"version":3,"file":"mask-label-manager.d.ts","sourceRoot":"","sources":["../../../src/mask/mask-label-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAIzF;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACpC,qEAAqE;IACrE,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,eAAe,CAAC;CAC5B;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAc3F;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAgE3F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA2BtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CASzF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAuBxE"}
1
+ {"version":3,"file":"mask-label-manager.d.ts","sourceRoot":"","sources":["../../../src/mask/mask-label-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAKzF;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACpC,qEAAqE;IACrE,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,eAAe,CAAC;CAC5B;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAc3F;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAiE3F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA2BtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CASzF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAuBxE"}