@bensitu/image-editor 2.1.0 → 2.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 +305 -95
- package/dist/cjs/index.cjs +3460 -843
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/annotation/annotation-lock.js +7 -0
- package/dist/esm/annotation/annotation-lock.js.map +1 -0
- package/dist/esm/annotation/annotation-manager.js +217 -0
- package/dist/esm/annotation/annotation-manager.js.map +1 -0
- package/dist/esm/annotation/annotation-style.js +50 -0
- package/dist/esm/annotation/annotation-style.js.map +1 -0
- package/dist/esm/annotation/draw-controller.js +114 -0
- package/dist/esm/annotation/draw-controller.js.map +1 -0
- package/dist/esm/annotation/text-controller.js +234 -0
- package/dist/esm/annotation/text-controller.js.map +1 -0
- package/dist/esm/core/default-options.js +240 -9
- package/dist/esm/core/default-options.js.map +1 -1
- package/dist/esm/core/editor-object-kind.js +37 -0
- package/dist/esm/core/editor-object-kind.js.map +1 -0
- package/dist/esm/core/errors.js +19 -0
- package/dist/esm/core/errors.js.map +1 -1
- package/dist/esm/core/layer-order.js +100 -0
- package/dist/esm/core/layer-order.js.map +1 -0
- package/dist/esm/core/public-types.js +34 -1
- package/dist/esm/core/public-types.js.map +1 -1
- package/dist/esm/core/state-serializer.js +112 -24
- package/dist/esm/core/state-serializer.js.map +1 -1
- package/dist/esm/crop/crop-controller.js +220 -10
- package/dist/esm/crop/crop-controller.js.map +1 -1
- package/dist/esm/export/export-format.js.map +1 -1
- package/dist/esm/export/export-service.js +157 -168
- package/dist/esm/export/export-service.js.map +1 -1
- package/dist/esm/export/overlay-merge-service.js +75 -0
- package/dist/esm/export/overlay-merge-service.js.map +1 -0
- package/dist/esm/history/history-manager.js +2 -2
- package/dist/esm/history/history-manager.js.map +1 -1
- package/dist/esm/image/image-loader.js +20 -51
- package/dist/esm/image/image-loader.js.map +1 -1
- package/dist/esm/image/transform-controller.js +42 -0
- package/dist/esm/image/transform-controller.js.map +1 -1
- package/dist/esm/image-editor.js +1200 -72
- package/dist/esm/image-editor.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mask/mask-factory.js +39 -14
- package/dist/esm/mask/mask-factory.js.map +1 -1
- package/dist/esm/mask/mask-label-manager.js +2 -0
- package/dist/esm/mask/mask-label-manager.js.map +1 -1
- package/dist/esm/mask/mask-list.js.map +1 -1
- package/dist/esm/mask/mask-style.js.map +1 -1
- package/dist/esm/mosaic/mosaic-controller.js +24 -28
- package/dist/esm/mosaic/mosaic-controller.js.map +1 -1
- package/dist/esm/utils/file.js +10 -0
- package/dist/esm/utils/file.js.map +1 -1
- package/dist/esm/utils/image-element-loader.js +55 -0
- package/dist/esm/utils/image-element-loader.js.map +1 -0
- package/dist/esm/utils/pointer.js +28 -0
- package/dist/esm/utils/pointer.js.map +1 -0
- package/dist/types/annotation/annotation-lock.d.ts +12 -0
- package/dist/types/annotation/annotation-lock.d.ts.map +1 -0
- package/dist/types/annotation/annotation-manager.d.ts +33 -0
- package/dist/types/annotation/annotation-manager.d.ts.map +1 -0
- package/dist/types/annotation/annotation-style.d.ts +13 -0
- package/dist/types/annotation/annotation-style.d.ts.map +1 -0
- package/dist/types/annotation/draw-controller.d.ts +43 -0
- package/dist/types/annotation/draw-controller.d.ts.map +1 -0
- package/dist/types/annotation/text-controller.d.ts +47 -0
- package/dist/types/annotation/text-controller.d.ts.map +1 -0
- package/dist/types/core/default-options.d.ts +14 -2
- package/dist/types/core/default-options.d.ts.map +1 -1
- package/dist/types/core/editor-object-kind.d.ts +29 -0
- package/dist/types/core/editor-object-kind.d.ts.map +1 -0
- package/dist/types/core/errors.d.ts +11 -1
- package/dist/types/core/errors.d.ts.map +1 -1
- package/dist/types/core/layer-order.d.ts +21 -0
- package/dist/types/core/layer-order.d.ts.map +1 -0
- package/dist/types/core/public-types.d.ts +272 -56
- package/dist/types/core/public-types.d.ts.map +1 -1
- package/dist/types/core/state-serializer.d.ts +34 -5
- package/dist/types/core/state-serializer.d.ts.map +1 -1
- package/dist/types/crop/crop-controller.d.ts +18 -14
- package/dist/types/crop/crop-controller.d.ts.map +1 -1
- package/dist/types/export/export-format.d.ts +9 -40
- package/dist/types/export/export-format.d.ts.map +1 -1
- package/dist/types/export/export-service.d.ts +45 -41
- package/dist/types/export/export-service.d.ts.map +1 -1
- package/dist/types/export/overlay-merge-service.d.ts +38 -0
- package/dist/types/export/overlay-merge-service.d.ts.map +1 -0
- package/dist/types/history/history-manager.d.ts +11 -14
- package/dist/types/history/history-manager.d.ts.map +1 -1
- package/dist/types/image/image-loader.d.ts +27 -22
- package/dist/types/image/image-loader.d.ts.map +1 -1
- package/dist/types/image/image-resampler.d.ts +1 -1
- package/dist/types/image/transform-controller.d.ts +19 -14
- package/dist/types/image/transform-controller.d.ts.map +1 -1
- package/dist/types/image-editor.d.ts +93 -15
- package/dist/types/image-editor.d.ts.map +1 -1
- package/dist/types/index.d.cts +3 -3
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mask/mask-factory.d.ts.map +1 -1
- package/dist/types/mask/mask-label-manager.d.ts +10 -9
- package/dist/types/mask/mask-label-manager.d.ts.map +1 -1
- package/dist/types/mask/mask-list.d.ts +11 -12
- package/dist/types/mask/mask-list.d.ts.map +1 -1
- package/dist/types/mask/mask-style.d.ts +19 -20
- package/dist/types/mask/mask-style.d.ts.map +1 -1
- package/dist/types/mosaic/mosaic-controller.d.ts +3 -3
- package/dist/types/mosaic/mosaic-controller.d.ts.map +1 -1
- package/dist/types/ui/visibility-state.d.ts +2 -2
- package/dist/types/utils/file.d.ts +13 -0
- package/dist/types/utils/file.d.ts.map +1 -1
- package/dist/types/utils/image-element-loader.d.ts +19 -0
- package/dist/types/utils/image-element-loader.d.ts.map +1 -0
- package/dist/types/utils/pointer.d.ts +16 -0
- package/dist/types/utils/pointer.d.ts.map +1 -0
- package/dist/umd/image-editor.umd.js +1 -1
- package/dist/umd/image-editor.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
14
|
*/
|
|
15
|
-
import type { ImageEditorOptions, LabelConfig, LayoutMode, MosaicConfig, ResolvedCropConfig, ResolvedMosaicConfig, ResolvedOptions } from './public-types.js';
|
|
15
|
+
import type { DrawConfig, ImageEditorOptions, LabelConfig, LayoutMode, MosaicConfig, ResolvedCropConfig, ResolvedDrawConfig, ResolvedMosaicConfig, ResolvedOptions, ResolvedTextAnnotationConfig, TextAnnotationConfig } from './public-types.js';
|
|
16
16
|
/**
|
|
17
17
|
* Documented defaults for every top-level option except the nested
|
|
18
18
|
* {@link LabelConfig} and {@link CropConfig} configs, which are owned by
|
|
@@ -22,7 +22,7 @@ import type { ImageEditorOptions, LabelConfig, LayoutMode, MosaicConfig, Resolve
|
|
|
22
22
|
* Nested label and crop defaults are carried by {@link DEFAULT_LABEL} and
|
|
23
23
|
* {@link DEFAULT_CROP}.
|
|
24
24
|
*/
|
|
25
|
-
export declare const DEFAULT_OPTIONS: Omit<ResolvedOptions, 'label' | 'crop' | 'defaultMosaicConfig'>;
|
|
25
|
+
export declare const DEFAULT_OPTIONS: Omit<ResolvedOptions, 'label' | 'crop' | 'defaultMosaicConfig' | 'defaultTextConfig' | 'defaultDrawConfig'>;
|
|
26
26
|
/**
|
|
27
27
|
* Default {@link LabelConfig}. Consumers can override `getText`, supply a
|
|
28
28
|
* `create` factory, or provide partial `textOptions` — unspecified keys fall
|
|
@@ -38,6 +38,8 @@ export declare const DEFAULT_CROP: ResolvedCropConfig;
|
|
|
38
38
|
* Mosaic tool config.
|
|
39
39
|
*/
|
|
40
40
|
export declare const DEFAULT_MOSAIC_CONFIG: ResolvedMosaicConfig;
|
|
41
|
+
export declare const DEFAULT_TEXT_ANNOTATION_CONFIG: ResolvedTextAnnotationConfig;
|
|
42
|
+
export declare const DEFAULT_DRAW_CONFIG: ResolvedDrawConfig;
|
|
41
43
|
export declare function isLayoutMode(value: unknown): value is LayoutMode;
|
|
42
44
|
/**
|
|
43
45
|
* Return a mutable defensive copy of a resolved Mosaic config.
|
|
@@ -60,6 +62,16 @@ export declare function getInvalidMosaicConfigFields(input: MosaicConfig): strin
|
|
|
60
62
|
* Strict value equality for resolved Mosaic configs.
|
|
61
63
|
*/
|
|
62
64
|
export declare function areResolvedMosaicConfigsEqual(left: ResolvedMosaicConfig, right: ResolvedMosaicConfig): boolean;
|
|
65
|
+
export declare function cloneResolvedTextAnnotationConfig(config: ResolvedTextAnnotationConfig): ResolvedTextAnnotationConfig;
|
|
66
|
+
export declare function cloneResolvedDrawConfig(config: ResolvedDrawConfig): ResolvedDrawConfig;
|
|
67
|
+
export declare function mergeTextAnnotationConfigPatch(current: ResolvedTextAnnotationConfig, patch: TextAnnotationConfig, fallback?: ResolvedTextAnnotationConfig): ResolvedTextAnnotationConfig;
|
|
68
|
+
export declare function normalizeTextAnnotationConfig(input: unknown, fallback: ResolvedTextAnnotationConfig): ResolvedTextAnnotationConfig;
|
|
69
|
+
export declare function mergeDrawConfigPatch(current: ResolvedDrawConfig, patch: DrawConfig, fallback?: ResolvedDrawConfig): ResolvedDrawConfig;
|
|
70
|
+
export declare function normalizeDrawConfig(input: unknown, fallback: ResolvedDrawConfig): ResolvedDrawConfig;
|
|
71
|
+
export declare function areResolvedTextAnnotationConfigsEqual(left: ResolvedTextAnnotationConfig, right: ResolvedTextAnnotationConfig): boolean;
|
|
72
|
+
export declare function areResolvedDrawConfigsEqual(left: ResolvedDrawConfig, right: ResolvedDrawConfig): boolean;
|
|
73
|
+
export declare function getInvalidTextAnnotationConfigFields(input: TextAnnotationConfig): string[];
|
|
74
|
+
export declare function getInvalidDrawConfigFields(input: DrawConfig): string[];
|
|
63
75
|
/**
|
|
64
76
|
* Resolves a partial {@link ImageEditorOptions} into a fully populated
|
|
65
77
|
* {@link ResolvedOptions} object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-options.d.ts","sourceRoot":"","sources":["../../../src/core/default-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"default-options.d.ts","sourceRoot":"","sources":["../../../src/core/default-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAGR,UAAU,EAEV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACvB,MAAM,mBAAmB,CAAC;AAQ3B;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,IAAI,CAC9B,eAAe,EACf,OAAO,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,mBAAmB,CAqEvF,CAAC;AAmBF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAG3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,kBAU1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,oBASlC,CAAC;AAEH,eAAO,MAAM,8BAA8B,EAAE,4BAmB3C,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,kBAUhC,CAAC;AAwEH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AA+ID;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAO5F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,oBAAoB,GAC/B,oBAAoB,CAGtB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,GAAE,oBAA8B,GACzC,oBAAoB,CA4CtB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CA0D1E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,oBAAoB,GAC5B,OAAO,CAoBT;AAED,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,4BAA4B,GACrC,4BAA4B,CAK9B;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAEtF;AAgCD,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,GAAE,4BAAsC,GACjD,4BAA4B,CAgD9B;AAED,wBAAgB,6BAA6B,CACzC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,4BAA4B,GACvC,4BAA4B,CAG9B;AAeD,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,kBAA4B,GACvC,kBAAkB,CAsBpB;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,kBAAkB,GAC7B,kBAAkB,CAGpB;AAED,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,4BAA4B,EAClC,KAAK,EAAE,4BAA4B,GACpC,OAAO,CAET;AAED,wBAAgB,2BAA2B,CACvC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,kBAAkB,GAC1B,OAAO,CAYT;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAW1F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAOtE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,eAAe,CAqQjF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metadata markers for objects owned by the editor runtime.
|
|
3
|
+
*
|
|
4
|
+
* All base images, masks, annotations, and session-only objects should be
|
|
5
|
+
* marked through these helpers so public type guards can reject legacy
|
|
6
|
+
* duck-typed objects reliably.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type * as FabricNS from 'fabric';
|
|
11
|
+
import type { AnnotationObject, AnnotationType, BaseImageObject, MaskObject, SessionObject, SessionObjectType } from './public-types.js';
|
|
12
|
+
export declare function markBaseImageObject(image: FabricNS.FabricImage): BaseImageObject;
|
|
13
|
+
export declare function markMaskObject(object: FabricNS.FabricObject, meta: {
|
|
14
|
+
maskId: number;
|
|
15
|
+
maskUid: string;
|
|
16
|
+
maskName: string;
|
|
17
|
+
originalAlpha: number;
|
|
18
|
+
originalStroke?: FabricNS.TFiller | string | null;
|
|
19
|
+
originalStrokeWidth?: number;
|
|
20
|
+
}): MaskObject;
|
|
21
|
+
export declare function markAnnotationObject(object: FabricNS.FabricObject, meta: {
|
|
22
|
+
annotationId: number;
|
|
23
|
+
annotationType: AnnotationType;
|
|
24
|
+
annotationName: string;
|
|
25
|
+
annotationHidden?: boolean;
|
|
26
|
+
annotationLocked?: boolean;
|
|
27
|
+
}): AnnotationObject;
|
|
28
|
+
export declare function markSessionObject<T extends FabricNS.FabricObject>(object: T, sessionObjectType: SessionObjectType): T & SessionObject;
|
|
29
|
+
//# sourceMappingURL=editor-object-kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-object-kind.d.ts","sourceRoot":"","sources":["../../../src/core/editor-object-kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,GAAG,eAAe,CAIhF;AAED,wBAAgB,cAAc,CAC1B,MAAM,EAAE,QAAQ,CAAC,YAAY,EAC7B,IAAI,EAAE;IACF,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC,GACF,UAAU,CAYZ;AAED,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,EAC7B,IAAI,EAAE;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACF,gBAAgB,CASlB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAC,YAAY,EAC7D,MAAM,EAAE,CAAC,EACT,iBAAiB,EAAE,iBAAiB,GACrC,CAAC,GAAG,aAAa,CAKnB"}
|
|
@@ -70,7 +70,7 @@ export declare class ImageLoadTimeoutError extends Error {
|
|
|
70
70
|
* returns `null`).
|
|
71
71
|
*
|
|
72
72
|
* Surfaces to consumer as: rejection of the `loadImage` promise. The
|
|
73
|
-
*
|
|
73
|
+
* image-loader rollback runs before the rejection.
|
|
74
74
|
*
|
|
75
75
|
*/
|
|
76
76
|
export declare class DownsampleError extends Error {
|
|
@@ -93,6 +93,16 @@ export declare class MergeMasksError extends Error {
|
|
|
93
93
|
readonly originalError: unknown;
|
|
94
94
|
constructor(message?: string, originalError?: unknown);
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Raised when flattening annotations into the base image fails. The
|
|
98
|
+
* pre-merge snapshot is restored before the rejection.
|
|
99
|
+
*/
|
|
100
|
+
export declare class MergeAnnotationsError extends Error {
|
|
101
|
+
readonly name = "MergeAnnotationsError";
|
|
102
|
+
/** Original error thrown during the merge pipeline. */
|
|
103
|
+
readonly originalError: unknown;
|
|
104
|
+
constructor(message?: string, originalError?: unknown);
|
|
105
|
+
}
|
|
96
106
|
/**
|
|
97
107
|
* Raised by `crop/crop-controller.ts.applyCrop` on any failure during the
|
|
98
108
|
* crop pipeline (crop computation, cropped-image load via the loader, or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC7C,SAAyB,IAAI,4BAA4B;gBAGrD,OAAO,SAA6H;CAK3I;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,SAAyB,IAAI,sBAAsB;IAEnD,uEAAuE;IACvE,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAqC,EAAE,aAAa,GAAE,OAAc;CAK1F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,SAAyB,IAAI,2BAA2B;IAExD,oEAAoE;IACpE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAM/C;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,8CAA8C;IAC9C,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAGnC,OAAO,SAAoD,EAC3D,aAAa,GAAE,OAAc;CAMpC;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,uDAAuD;IACvD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA0C,EAAE,aAAa,GAAE,OAAc;CAK/F;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC,SAAyB,IAAI,oBAAoB;IAEjD,sDAAsD;IACtD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAuC,EAAE,aAAa,GAAE,OAAc;CAK5F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,SAAyB,IAAI,yBAAyB;IAEtD,uDAAuD;IACvD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,SAAoB;CAK5C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAyB,IAAI,iBAAiB;IAE9C,wDAAwD;IACxD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA4B,EAAE,aAAa,GAAE,OAAc;CAKjF"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC7C,SAAyB,IAAI,4BAA4B;gBAGrD,OAAO,SAA6H;CAK3I;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,SAAyB,IAAI,sBAAsB;IAEnD,uEAAuE;IACvE,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAqC,EAAE,aAAa,GAAE,OAAc;CAK1F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,SAAyB,IAAI,2BAA2B;IAExD,oEAAoE;IACpE,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAM/C;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,8CAA8C;IAC9C,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAGnC,OAAO,SAAoD,EAC3D,aAAa,GAAE,OAAc;CAMpC;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAyB,IAAI,qBAAqB;IAElD,uDAAuD;IACvD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA0C,EAAE,aAAa,GAAE,OAAc;CAK/F;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,SAAyB,IAAI,2BAA2B;IAExD,uDAAuD;IACvD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAGnC,OAAO,SAAgD,EACvD,aAAa,GAAE,OAAc;CAMpC;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC,SAAyB,IAAI,oBAAoB;IAEjD,sDAAsD;IACtD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAAuC,EAAE,aAAa,GAAE,OAAc;CAK5F;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,SAAyB,IAAI,yBAAyB;IAEtD,uDAAuD;IACvD,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,SAAoB;CAK5C;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,SAAyB,IAAI,iBAAiB;IAE9C,wDAAwD;IACxD,SAAgB,aAAa,EAAE,OAAO,CAAC;gBAE3B,OAAO,SAA4B,EAAE,aAAa,GAAE,OAAc;CAKjF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer-order helpers for editor-owned Fabric objects.
|
|
3
|
+
*
|
|
4
|
+
* The invariant is base images at the bottom, host objects next, editable
|
|
5
|
+
* overlays above them, and session-only objects at the top.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type * as FabricNS from 'fabric';
|
|
10
|
+
import { type AnnotationObject, type BaseImageObject, type MaskObject, type SessionObject } from './public-types.js';
|
|
11
|
+
export declare function normalizeLayerOrder(canvas: FabricNS.Canvas): void;
|
|
12
|
+
export declare function placeBaseImageObject(canvas: FabricNS.Canvas, image: BaseImageObject): void;
|
|
13
|
+
export declare function placeMaskObject(canvas: FabricNS.Canvas, mask: MaskObject): void;
|
|
14
|
+
export declare function placeAnnotationObject(canvas: FabricNS.Canvas, annotation: AnnotationObject): void;
|
|
15
|
+
export declare function placeSessionObject(canvas: FabricNS.Canvas, sessionObject: SessionObject): void;
|
|
16
|
+
export declare function getEditableOverlayRange(canvas: FabricNS.Canvas): {
|
|
17
|
+
start: number;
|
|
18
|
+
end: number;
|
|
19
|
+
overlays: Array<MaskObject | AnnotationObject>;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=layer-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-order.d.ts","sourceRoot":"","sources":["../../../src/core/layer-order.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,QAAQ,CAAC;AAExC,OAAO,EAIH,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EACrB,MAAM,mBAAmB,CAAC;AA6E3B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAYjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAI1F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAK/E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAKjG;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAG9F;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;CAClD,CAWA"}
|