{ "version": 3, "sources": ["../../../../src/lib/shapes/shared/resizeScaled.ts"], "sourcesContent": ["import { Box2d, TLShape, Vec2d, Vec2dModel } from '@tldraw/editor'\n\nexport function resizeScaled(\n\tshape: Extract,\n\t{\n\t\tinitialBounds,\n\t\tscaleX,\n\t\tscaleY,\n\t\tnewPoint,\n\t}: {\n\t\tnewPoint: Vec2dModel\n\t\tinitialBounds: Box2d\n\t\tscaleX: number\n\t\tscaleY: number\n\t}\n) {\n\t// Compute the new scale (to apply to the scale prop)\n\tconst scaleDelta = Math.max(0.01, Math.min(Math.abs(scaleX), Math.abs(scaleY)))\n\n\t// Compute the offset (if flipped X or flipped Y)\n\tconst offset = new Vec2d(0, 0)\n\n\tif (scaleX < 0) {\n\t\toffset.x = -(initialBounds.width * scaleDelta)\n\t}\n\tif (scaleY < 0) {\n\t\toffset.y = -(initialBounds.height * scaleDelta)\n\t}\n\n\t// Apply the offset to the new point\n\tconst { x, y } = Vec2d.Add(newPoint, offset.rot(shape.rotation))\n\n\treturn {\n\t\tx,\n\t\ty,\n\t\tprops: {\n\t\t\tscale: scaleDelta * shape.props.scale,\n\t\t},\n\t}\n}\n"], "mappings": "AAAA,SAAyB,aAAyB;AAE3C,SAAS,aACf,OACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAMC;AAED,QAAM,aAAa,KAAK,IAAI,MAAM,KAAK,IAAI,KAAK,IAAI,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC;AAG9E,QAAM,SAAS,IAAI,MAAM,GAAG,CAAC;AAE7B,MAAI,SAAS,GAAG;AACf,WAAO,IAAI,EAAE,cAAc,QAAQ;AAAA,EACpC;AACA,MAAI,SAAS,GAAG;AACf,WAAO,IAAI,EAAE,cAAc,SAAS;AAAA,EACrC;AAGA,QAAM,EAAE,GAAG,EAAE,IAAI,MAAM,IAAI,UAAU,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE/D,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACN,OAAO,aAAa,MAAM,MAAM;AAAA,IACjC;AAAA,EACD;AACD;", "names": [] }