{
  "version": 3,
  "sources": ["../../src/bindings/TLArrowBinding.ts"],
  "sourcesContent": ["import { T } from '@tldraw/validate'\nimport { VecModel, vecModelValidator } from '../misc/geometry-types'\nimport { createBindingPropsMigrationSequence } from '../records/TLBinding'\nimport { RecordProps } from '../recordsWithProps'\nimport { arrowShapeVersions } from '../shapes/TLArrowShape'\nimport { TLBaseBinding } from './TLBaseBinding'\n\n/** @public */\nexport interface TLArrowBindingProps {\n\tterminal: 'start' | 'end'\n\tnormalizedAnchor: VecModel\n\t/**\n\t * exact is whether the arrow head 'enters' the bound shape to point directly at the binding\n\t * anchor point\n\t */\n\tisExact: boolean\n\t/**\n\t * precise is whether to bind to the normalizedAnchor, or to the middle of the shape\n\t */\n\tisPrecise: boolean\n}\n\n/** @public */\nexport const arrowBindingProps: RecordProps<TLArrowBinding> = {\n\tterminal: T.literalEnum('start', 'end'),\n\tnormalizedAnchor: vecModelValidator,\n\tisExact: T.boolean,\n\tisPrecise: T.boolean,\n}\n\n/** @public */\nexport type TLArrowBinding = TLBaseBinding<'arrow', TLArrowBindingProps>\n\nexport const arrowBindingVersions = {} as const\n\n/** @public */\nexport const arrowBindingMigrations = createBindingPropsMigrationSequence({\n\tsequence: [{ dependsOn: [arrowShapeVersions.ExtractBindings] }],\n})\n"],
  "mappings": "AAAA,SAAS,SAAS;AAClB,SAAmB,yBAAyB;AAC5C,SAAS,2CAA2C;AAEpD,SAAS,0BAA0B;AAmB5B,MAAM,oBAAiD;AAAA,EAC7D,UAAU,EAAE,YAAY,SAAS,KAAK;AAAA,EACtC,kBAAkB;AAAA,EAClB,SAAS,EAAE;AAAA,EACX,WAAW,EAAE;AACd;AAKO,MAAM,uBAAuB,CAAC;AAG9B,MAAM,yBAAyB,oCAAoC;AAAA,EACzE,UAAU,CAAC,EAAE,WAAW,CAAC,mBAAmB,eAAe,EAAE,CAAC;AAC/D,CAAC;",
  "names": []
}
