Files
blockly/packages/blockly/core/bubbles
Aaron Dodson da1db45dd2 feat!: Allow moving blocks, comments and bubbles using the keyboard (#9593)
* refactor!: Update dragging APIs.

* fix: Fix bug that caused drags to always result in deletion

* refactor: Clean up block drag handling with new API

* chore: Format files

* feat: Add an `isBoundedElement` type predicate

* feat: Make `Bubble` implement `IBoundedElement`

* fix: Fix jumping/scrolling when moving blocks

* feat: Add a `KeyboardMover`

* feat: Update the `BlockDragStrategy` to support constrained movement

* feat: Register keyboard shortcuts to drive movement

* feat: Display a move indicator on items that are being moved

* fix: Reenable move hints

* fix: Fix bugs that caused elements to be mispositioned by keyboard moves at non-default zoom levels

* fix: Fix a bug that caused certain connections to be visited out of order

* fix: Fix a bug that caused blocks to become disconnected during constrained moves

* test: Add tests for keyboard-driven movement

* chore: Add exports

* chore: Run formatter

* chore: Make the linter happy

* chore: Update closure compiler

* fix: Fix test suite on non-macOS

* fix: Don't scroll in response to arrow keys while moving items

* fix: Fix positioning of move indicator in RTL

* refactor: Clarify return types of drag-start related methods

* refactor: Make the `KeyboardMover` a singleton

* fix: Fix import path

* refactor: Remove `WorkspaceSvg.keyboardMoveInProgress`

* fix: Fix tests

* chore: Remove unused import

* chore: Clean up comments and names

* refactor: Make `IDraggable` extend `IBoundedElement` and `ISelectable`

* chore: Rename test blocks file for move mode

* refactor: Make block connection offset a constant

* refactor: Export `KeyboardMover` class with a static instance

* fix: Use Command and Control as modifiers for unconstrained move mode

* fix: Fix test failures in CI

* feat: Support allowlisting keyboard shortcuts for mid-move use
2026-03-03 11:51:07 -08:00
..