diff --git a/tldraw/apps/tldraw-logseq/src/lib/tools/LogseqPortalTool/states/CreatingState.tsx b/tldraw/apps/tldraw-logseq/src/lib/tools/LogseqPortalTool/states/CreatingState.tsx index 8e834d67d7..8a7c9a9029 100644 --- a/tldraw/apps/tldraw-logseq/src/lib/tools/LogseqPortalTool/states/CreatingState.tsx +++ b/tldraw/apps/tldraw-logseq/src/lib/tools/LogseqPortalTool/states/CreatingState.tsx @@ -59,13 +59,13 @@ export class CreatingState extends TLToolState< onExit = () => { if (!this.creatingShape) return - this.app.clearEditingShape() this.app.history.resume() if (this.creatingShape?.props.pageId) { this.app.setSelectedShapes([this.creatingShape.id]) } else { this.app.deleteShapes([this.creatingShape.id]) + this.app.clearEditingShape() } } } diff --git a/tldraw/packages/core/src/lib/TLApp/TLApp.ts b/tldraw/packages/core/src/lib/TLApp/TLApp.ts index 1745a4546f..77d0ff5cc5 100644 --- a/tldraw/packages/core/src/lib/TLApp/TLApp.ts +++ b/tldraw/packages/core/src/lib/TLApp/TLApp.ts @@ -529,6 +529,9 @@ export class TLApp< } else { this.selectionRotation = 0 } + if (shapes.length === 0) { + this.clearEditingShape() + } return this } diff --git a/tldraw/packages/core/src/lib/tools/TLSelectTool/states/EditingShapeState.ts b/tldraw/packages/core/src/lib/tools/TLSelectTool/states/EditingShapeState.ts index 0bd02a5d97..8d785ddd62 100644 --- a/tldraw/packages/core/src/lib/tools/TLSelectTool/states/EditingShapeState.ts +++ b/tldraw/packages/core/src/lib/tools/TLSelectTool/states/EditingShapeState.ts @@ -20,6 +20,9 @@ export class EditingShapeState< onExit = () => { this.app.persist() this.app.clearEditingShape() + + // Blur all inputs when exit idle + document.querySelectorAll('input,textarea').forEach(el => el.blur()) } onPointerDown: TLEvents['pointer'] = info => { @@ -51,9 +54,6 @@ export class EditingShapeState< e.stopPropagation() this.app.setSelectedShapes([this.editingShape]) this.tool.transition('idle') - - // Blur all inputs when exit idle - document.querySelectorAll('input,textarea').forEach(el => el.blur()) }) break }