diff --git a/packages/tldraw/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts b/packages/tldraw/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts index e61b7329d011..d2c1e2583ed2 100644 --- a/packages/tldraw/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts +++ b/packages/tldraw/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts @@ -57,6 +57,15 @@ export class PointingArrowLabel extends StateNode { this._labelDragOffset = Vec.Sub(labelGeometry.center, pointInShapeSpace) this.markId = this.editor.markHistoryStoppingPoint('label-drag start') + + const additiveSelectionKey = info.shiftKey || info.accelKey + if (additiveSelectionKey) { + const selectedShapeIds = this.editor.getSelectedShapeIds() + this.editor.setSelectedShapes([...selectedShapeIds, this.shapeId]) + + return + } + this.editor.setSelectedShapes([this.shapeId]) }