{ "version": 3, "sources": ["../../../../../src/lib/shapes/note/toolStates/Pointing.ts"], "sourcesContent": ["import {\n\tStateNode,\n\tTLEventHandlers,\n\tTLInterruptEvent,\n\tTLNoteShape,\n\tTLPointerEventInfo,\n\tcreateShapeId,\n} from '@tldraw/editor'\n\nexport class Pointing extends StateNode {\n\tstatic override id = 'pointing'\n\n\tdragged = false\n\n\tinfo = {} as TLPointerEventInfo\n\n\twasFocusedOnEnter = false\n\n\tmarkId = ''\n\n\tshape = {} as TLNoteShape\n\n\toverride onEnter = () => {\n\t\tthis.wasFocusedOnEnter = !this.editor.isMenuOpen\n\t\tif (this.wasFocusedOnEnter) {\n\t\t\tthis.shape = this.createShape()\n\t\t}\n\t}\n\n\toverride onPointerMove: TLEventHandlers['onPointerMove'] = (info) => {\n\t\tif (this.editor.inputs.isDragging) {\n\t\t\tif (!this.wasFocusedOnEnter) {\n\t\t\t\tthis.shape = this.createShape()\n\t\t\t}\n\n\t\t\tthis.editor.setCurrentTool('select.translating', {\n\t\t\t\t...info,\n\t\t\t\ttarget: 'shape',\n\t\t\t\tshape: this.shape,\n\t\t\t\tisCreating: true,\n\t\t\t\teditAfterComplete: true,\n\t\t\t\tonInteractionEnd: 'note',\n\t\t\t})\n\t\t}\n\t}\n\n\toverride onPointerUp: TLEventHandlers['onPointerUp'] = () => {\n\t\tthis.complete()\n\t}\n\n\toverride onInterrupt: TLInterruptEvent = () => {\n\t\tthis.cancel()\n\t}\n\n\toverride onComplete: TLEventHandlers['onComplete'] = () => {\n\t\tthis.complete()\n\t}\n\n\toverride onCancel: TLEventHandlers['onCancel'] = () => {\n\t\tthis.cancel()\n\t}\n\n\tprivate complete() {\n\t\tif (this.wasFocusedOnEnter) {\n\t\t\tif (this.editor.instanceState.isToolLocked) {\n\t\t\t\tthis.parent.transition('idle', {})\n\t\t\t} else {\n\t\t\t\tthis.editor.setEditingShape(this.shape.id)\n\t\t\t\tthis.editor.setCurrentTool('select.editing_shape', {\n\t\t\t\t\t...this.info,\n\t\t\t\t\ttarget: 'shape',\n\t\t\t\t\tshape: this.shape,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate cancel() {\n\t\tthis.editor.bailToMark(this.markId)\n\t\tthis.parent.transition('idle', this.info)\n\t}\n\n\tprivate createShape() {\n\t\tconst {\n\t\t\tinputs: { originPagePoint },\n\t\t} = this.editor\n\n\t\tconst id = createShapeId()\n\t\tthis.markId = `creating:${id}`\n\t\tthis.editor.mark(this.markId)\n\n\t\tthis.editor\n\t\t\t.createShapes([\n\t\t\t\t{\n\t\t\t\t\tid,\n\t\t\t\t\ttype: 'note',\n\t\t\t\t\tx: originPagePoint.x,\n\t\t\t\t\ty: originPagePoint.y,\n\t\t\t\t},\n\t\t\t])\n\t\t\t.select(id)\n\n\t\tconst shape = this.editor.getShape(id)!\n\t\tconst bounds = this.editor.getShapeGeometry(shape).bounds\n\n\t\t// Center the text around the created point\n\t\tthis.editor.updateShapes([\n\t\t\t{\n\t\t\t\tid,\n\t\t\t\ttype: 'note',\n\t\t\t\tx: shape.x - bounds.width / 2,\n\t\t\t\ty: shape.y - bounds.height / 2,\n\t\t\t},\n\t\t])\n\n\t\treturn this.editor.getShape(id)!\n\t}\n}\n"], "mappings": "AAAA;AAAA,EACC;AAAA,EAKA;AAAA,OACM;AAEA,MAAM,iBAAiB,UAAU;AAAA,EACvC,OAAgB,KAAK;AAAA,EAErB,UAAU;AAAA,EAEV,OAAO,CAAC;AAAA,EAER,oBAAoB;AAAA,EAEpB,SAAS;AAAA,EAET,QAAQ,CAAC;AAAA,EAEA,UAAU,MAAM;AACxB,SAAK,oBAAoB,CAAC,KAAK,OAAO;AACtC,QAAI,KAAK,mBAAmB;AAC3B,WAAK,QAAQ,KAAK,YAAY;AAAA,IAC/B;AAAA,EACD;AAAA,EAES,gBAAkD,CAAC,SAAS;AACpE,QAAI,KAAK,OAAO,OAAO,YAAY;AAClC,UAAI,CAAC,KAAK,mBAAmB;AAC5B,aAAK,QAAQ,KAAK,YAAY;AAAA,MAC/B;AAEA,WAAK,OAAO,eAAe,sBAAsB;AAAA,QAChD,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,OAAO,KAAK;AAAA,QACZ,YAAY;AAAA,QACZ,mBAAmB;AAAA,QACnB,kBAAkB;AAAA,MACnB,CAAC;AAAA,IACF;AAAA,EACD;AAAA,EAES,cAA8C,MAAM;AAC5D,SAAK,SAAS;AAAA,EACf;AAAA,EAES,cAAgC,MAAM;AAC9C,SAAK,OAAO;AAAA,EACb;AAAA,EAES,aAA4C,MAAM;AAC1D,SAAK,SAAS;AAAA,EACf;AAAA,EAES,WAAwC,MAAM;AACtD,SAAK,OAAO;AAAA,EACb;AAAA,EAEQ,WAAW;AAClB,QAAI,KAAK,mBAAmB;AAC3B,UAAI,KAAK,OAAO,cAAc,cAAc;AAC3C,aAAK,OAAO,WAAW,QAAQ,CAAC,CAAC;AAAA,MAClC,OAAO;AACN,aAAK,OAAO,gBAAgB,KAAK,MAAM,EAAE;AACzC,aAAK,OAAO,eAAe,wBAAwB;AAAA,UAClD,GAAG,KAAK;AAAA,UACR,QAAQ;AAAA,UACR,OAAO,KAAK;AAAA,QACb,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA,EAEQ,SAAS;AAChB,SAAK,OAAO,WAAW,KAAK,MAAM;AAClC,SAAK,OAAO,WAAW,QAAQ,KAAK,IAAI;AAAA,EACzC;AAAA,EAEQ,cAAc;AACrB,UAAM;AAAA,MACL,QAAQ,EAAE,gBAAgB;AAAA,IAC3B,IAAI,KAAK;AAET,UAAM,KAAK,cAAc;AACzB,SAAK,SAAS,YAAY,EAAE;AAC5B,SAAK,OAAO,KAAK,KAAK,MAAM;AAE5B,SAAK,OACH,aAAa;AAAA,MACb;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,GAAG,gBAAgB;AAAA,QACnB,GAAG,gBAAgB;AAAA,MACpB;AAAA,IACD,CAAC,EACA,OAAO,EAAE;AAEX,UAAM,QAAQ,KAAK,OAAO,SAAsB,EAAE;AAClD,UAAM,SAAS,KAAK,OAAO,iBAAiB,KAAK,EAAE;AAGnD,SAAK,OAAO,aAAa;AAAA,MACxB;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,GAAG,MAAM,IAAI,OAAO,QAAQ;AAAA,QAC5B,GAAG,MAAM,IAAI,OAAO,SAAS;AAAA,MAC9B;AAAA,IACD,CAAC;AAED,WAAO,KAAK,OAAO,SAAsB,EAAE;AAAA,EAC5C;AACD;", "names": [] }