{
  "version": 3,
  "sources": ["../../src/shapes/TLImageShape.ts"],
  "sourcesContent": ["import { defineMigrations } from '@bigbluebutton/store'\nimport { T } from '@bigbluebutton/validate'\nimport { assetIdValidator } from '../assets/TLBaseAsset'\nimport { vec2dModelValidator } from '../misc/geometry-types'\nimport { ShapePropsType, TLBaseShape } from './TLBaseShape'\n\n/** @public */\nexport const ImageShapeCrop = T.object({\n\ttopLeft: vec2dModelValidator,\n\tbottomRight: vec2dModelValidator,\n})\n/** @public */\nexport type TLImageShapeCrop = T.TypeOf<typeof ImageShapeCrop>\n\n/** @public */\nexport const imageShapeProps = {\n\tw: T.nonZeroNumber,\n\th: T.nonZeroNumber,\n\tplaying: T.boolean,\n\turl: T.string,\n\tassetId: assetIdValidator.nullable(),\n\tcrop: ImageShapeCrop.nullable(),\n}\n\n/** @public */\nexport type TLImageShapeProps = ShapePropsType<typeof imageShapeProps>\n\n/** @public */\nexport type TLImageShape = TLBaseShape<'image', TLImageShapeProps>\n\nconst Versions = {\n\tAddUrlProp: 1,\n\tAddCropProp: 2,\n} as const\n\n/** @internal */\nexport const imageShapeMigrations = defineMigrations({\n\tcurrentVersion: Versions.AddCropProp,\n\tmigrators: {\n\t\t[Versions.AddUrlProp]: {\n\t\t\tup: (shape) => {\n\t\t\t\treturn { ...shape, props: { ...shape.props, url: '' } }\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\tconst { url: _, ...props } = shape.props\n\t\t\t\treturn { ...shape, props }\n\t\t\t},\n\t\t},\n\t\t[Versions.AddCropProp]: {\n\t\t\tup: (shape) => {\n\t\t\t\treturn { ...shape, props: { ...shape.props, crop: null } }\n\t\t\t},\n\t\t\tdown: (shape) => {\n\t\t\t\tconst { crop: _, ...props } = shape.props\n\t\t\t\treturn { ...shape, props }\n\t\t\t},\n\t\t},\n\t},\n})\n"],
  "mappings": "AAAA,SAAS,wBAAwB;AACjC,SAAS,SAAS;AAClB,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AAI7B,MAAM,iBAAiB,EAAE,OAAO;AAAA,EACtC,SAAS;AAAA,EACT,aAAa;AACd,CAAC;AAKM,MAAM,kBAAkB;AAAA,EAC9B,GAAG,EAAE;AAAA,EACL,GAAG,EAAE;AAAA,EACL,SAAS,EAAE;AAAA,EACX,KAAK,EAAE;AAAA,EACP,SAAS,iBAAiB,SAAS;AAAA,EACnC,MAAM,eAAe,SAAS;AAC/B;AAQA,MAAM,WAAW;AAAA,EAChB,YAAY;AAAA,EACZ,aAAa;AACd;AAGO,MAAM,uBAAuB,iBAAiB;AAAA,EACpD,gBAAgB,SAAS;AAAA,EACzB,WAAW;AAAA,IACV,CAAC,SAAS,UAAU,GAAG;AAAA,MACtB,IAAI,CAAC,UAAU;AACd,eAAO,EAAE,GAAG,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,GAAG,EAAE;AAAA,MACvD;AAAA,MACA,MAAM,CAAC,UAAU;AAChB,cAAM,EAAE,KAAK,GAAG,GAAG,MAAM,IAAI,MAAM;AACnC,eAAO,EAAE,GAAG,OAAO,MAAM;AAAA,MAC1B;AAAA,IACD;AAAA,IACA,CAAC,SAAS,WAAW,GAAG;AAAA,MACvB,IAAI,CAAC,UAAU;AACd,eAAO,EAAE,GAAG,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,MAAM,KAAK,EAAE;AAAA,MAC1D;AAAA,MACA,MAAM,CAAC,UAAU;AAChB,cAAM,EAAE,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM;AACpC,eAAO,EAAE,GAAG,OAAO,MAAM;AAAA,MAC1B;AAAA,IACD;AAAA,EACD;AACD,CAAC;",
  "names": []
}
