/** * @author Ben Situ * @license MIT * Lightweight canvas-based image editor built on Fabric.js v7. * Provides masks, annotations, animated transforms, crop, mosaic, undo/redo, * serialization, and export. * * @module */ import { type CanvasJson } from './core/state-serializer.js'; import type { AnnotationObject, AnnotationUpdateConfig, CropAspectRatio, CropModeOptions, DrawConfig, ElementIdMap, FabricModule, ImageEditorOptions, ImageExportOptions, LayoutMode, LoadImageOptions, MaskConfig, MaskObject, MosaicConfig, RemoveAllAnnotationsOptions, RemoveAllMasksOptions, ResolvedDrawConfig, ResolvedMosaicConfig, ResolvedTextAnnotationConfig, TextAnnotationConfig, TextAnnotationObject } from './core/public-types.js'; /** * Lightweight Fabric.js v7 image editor with masking, animated transforms, * crop, undo/redo, and multi-format export. * * ## Quick start (ESM) * ```ts * import * as fabric from 'fabric'; * import { ImageEditor } from '@bensitu/image-editor'; * * const editor = new ImageEditor(fabric, { canvasWidth: 1024, canvasHeight: 768 }); * editor.init({ canvas: 'myCanvas' }); * ``` * * ## Quick start (CDN / `