{
  "version": 3,
  "sources": ["../../src/shapes/TLLineShape.ts"],
  "sourcesContent": ["import { defineMigrations } from '@bigbluebutton/store'\nimport { deepCopy } from '@bigbluebutton/utils'\nimport { T } from '@bigbluebutton/validate'\nimport { handleValidator } from '../misc/TLHandle'\nimport { StyleProp } from '../styles/StyleProp'\nimport { DefaultColorStyle } from '../styles/TLColorStyle'\nimport { DefaultDashStyle } from '../styles/TLDashStyle'\nimport { DefaultSizeStyle } from '../styles/TLSizeStyle'\nimport { ShapePropsType, TLBaseShape } from './TLBaseShape'\n\n/** @public */\nexport const LineShapeSplineStyle = StyleProp.defineEnum('tldraw:spline', {\n\tdefaultValue: 'line',\n\tvalues: ['cubic', 'line'],\n})\n\n/** @public */\nexport type TLLineShapeSplineStyle = T.TypeOf<typeof LineShapeSplineStyle>\n\n/** @public */\nexport const lineShapeProps = {\n\tcolor: DefaultColorStyle,\n\tdash: DefaultDashStyle,\n\tsize: DefaultSizeStyle,\n\tspline: LineShapeSplineStyle,\n\thandles: T.dict(T.string, handleValidator),\n}\n\n/** @public */\nexport type TLLineShapeProps = ShapePropsType<typeof lineShapeProps>\n\n/** @public */\nexport type TLLineShape = TLBaseShape<'line', TLLineShapeProps>\n\n/** @internal */\nexport const lineShapeVersions = {\n\tAddSnapHandles: 1,\n} as const\n\n/** @internal */\nexport const lineShapeMigrations = defineMigrations({\n\tcurrentVersion: lineShapeVersions.AddSnapHandles,\n\tmigrators: {\n\t\t[lineShapeVersions.AddSnapHandles]: {\n\t\t\tup: (record: any) => {\n\t\t\t\tconst handles = deepCopy(record.props.handles as Record<string, any>)\n\t\t\t\tfor (const id in handles) {\n\t\t\t\t\thandles[id].canSnap = true\n\t\t\t\t}\n\t\t\t\treturn { ...record, props: { ...record.props, handles } }\n\t\t\t},\n\t\t\tdown: (record: any) => {\n\t\t\t\tconst handles = deepCopy(record.props.handles as Record<string, any>)\n\t\t\t\tfor (const id in handles) {\n\t\t\t\t\tdelete handles[id].canSnap\n\t\t\t\t}\n\t\t\t\treturn { ...record, props: { ...record.props, handles } }\n\t\t\t},\n\t\t},\n\t},\n})\n"],
  "mappings": "AAAA,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,SAAS,SAAS;AAClB,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAI1B,MAAM,uBAAuB,UAAU,WAAW,iBAAiB;AAAA,EACzE,cAAc;AAAA,EACd,QAAQ,CAAC,SAAS,MAAM;AACzB,CAAC;AAMM,MAAM,iBAAiB;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS,EAAE,KAAK,EAAE,QAAQ,eAAe;AAC1C;AASO,MAAM,oBAAoB;AAAA,EAChC,gBAAgB;AACjB;AAGO,MAAM,sBAAsB,iBAAiB;AAAA,EACnD,gBAAgB,kBAAkB;AAAA,EAClC,WAAW;AAAA,IACV,CAAC,kBAAkB,cAAc,GAAG;AAAA,MACnC,IAAI,CAAC,WAAgB;AACpB,cAAM,UAAU,SAAS,OAAO,MAAM,OAA8B;AACpE,mBAAW,MAAM,SAAS;AACzB,kBAAQ,EAAE,EAAE,UAAU;AAAA,QACvB;AACA,eAAO,EAAE,GAAG,QAAQ,OAAO,EAAE,GAAG,OAAO,OAAO,QAAQ,EAAE;AAAA,MACzD;AAAA,MACA,MAAM,CAAC,WAAgB;AACtB,cAAM,UAAU,SAAS,OAAO,MAAM,OAA8B;AACpE,mBAAW,MAAM,SAAS;AACzB,iBAAO,QAAQ,EAAE,EAAE;AAAA,QACpB;AACA,eAAO,EAAE,GAAG,QAAQ,OAAO,EAAE,GAAG,OAAO,OAAO,QAAQ,EAAE;AAAA,MACzD;AAAA,IACD;AAAA,EACD;AACD,CAAC;",
  "names": []
}
