{"version":3,"file":"FabricObject.min.mjs","names":[],"sources":["../../../../src/shapes/Object/FabricObject.ts"],"sourcesContent":["import type { ObjectEvents } from '../../EventTypeDefs';\nimport { FabricObjectSVGExportMixin } from './FabricObjectSVGExportMixin';\nimport { InteractiveFabricObject } from './InteractiveObject';\nimport { applyMixins } from '../../util/applyMixins';\nimport type { FabricObjectProps } from './types/FabricObjectProps';\nimport type { TFabricObjectProps, SerializedObjectProps } from './types';\nimport { classRegistry } from '../../ClassRegistry';\n\n// TODO somehow we have to make a tree-shakeable import\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface FabricObject<\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  Props extends TFabricObjectProps = Partial<FabricObjectProps>,\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  SProps extends SerializedObjectProps = SerializedObjectProps,\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  EventSpec extends ObjectEvents = ObjectEvents,\n> extends FabricObjectSVGExportMixin {}\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport class FabricObject<\n  Props extends TFabricObjectProps = Partial<FabricObjectProps>,\n  SProps extends SerializedObjectProps = SerializedObjectProps,\n  EventSpec extends ObjectEvents = ObjectEvents,\n> extends InteractiveFabricObject<Props, SProps, EventSpec> {}\n\napplyMixins(FabricObject, [FabricObjectSVGExportMixin]);\n\nclassRegistry.setClass(FabricObject);\nclassRegistry.setClass(FabricObject, 'object');\n\nexport { cacheProperties } from './defaultValues';\n"],"mappings":"iTAqBA,IAAa,EAAb,cAIU,CAAA,GAEV,EAAY,EAAc,CAAC,EAAA,CAAA,CAE3B,EAAc,SAAS,EAAA,CACvB,EAAc,SAAS,EAAc,SAAA,CAAA,OAAA,KAAA"}