* feat: aria live region for announcements
* fix: code review and add tests
* fix: better suite name
* chore: remove unused function
* fix: code review changes
* chore: add back ability to remove role
* feat: Move mode for stacks of blocks
* lint; add tests
* push to remote in order to switch devices (tests still failing)
* fix tests
* code review test updates
* feat: Add keyboard shortcut to focus the workspace
* test: Added tests for keyboard shortcut to focus workspace
* fix: Disable the focus workspace shortcut while dragging
* feat!: Allow using Blockly in web components/shadow DOM
* test: Fix tests
* chore: Add a playground to exercise web component support
* fix: Remove JSDoc argument
* chore: Format playground
* fix: Hopefully fix tests in CI
* fix: Improve test performance
* fix: Fix test failure
* fix: Allow changing the theme
* refactor!: Move responsibility for block creation out of flyouts
* chore: Clarify naming and documentation
* fix: Make test less convoluted
* refactor: Use serialization instead of zero-length drag to handle block clicks
* fix: Fix undoing when dragging a block from the flyout
* refactor: Make `getTargetBlock()` always return a value
* 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
* feat: Add support for getting the contextual menu
* feat: Add a keyboard shortcut for opening the contextual menu
* test: Add tests for `ContextMenu.getMenu()`.
* test: Add tests for context menu keyboard shortcut
* fix: Fix tests when not run on their own
* chore: Add type annotation
* fix: Focus the nearest neighbor on block deletion
* test: Add tests
* fix: Use `strictEqual`
* chore: Reduce the number of test blocks
* fix: Explicitly verify that dying blocks are not focused
* fix: Fix exception when disposing of a workspace with a focused block
* chore: Run formatter
* fix: Don't suppress and re-fire events when dragging blocks from the flyout
* fix: Fix bug that could cause blocks to get bumped when dragging from the flyout
* fix: Fix bug that made it more difficult to drag blocks from scrollable flyouts
* chore: Run formatter
* refactor: Clean up `createBlock`
* fix: Hide chaff at the end of block creation
* feat: Add support for displaying contextual menus on icons
* test: Add tests for contextual menus on icons
* fix: Designate `Icon` as implementing `IContextMenu`
* fix: Don't write Typescript in a JS file
* chore(monorepo): move all blockly files to packages/blockly
* chore(monorepo): add root package.json and update gitignores
* chore(monorepo): update scripts and github workflows
* chore(monorepo): only try the native release for closure compiler
chore: add debug info to build script
chore: update google-closure-compiler
chore: remove debug info
* fix: Make `MenuItem` methods toggle classes immediately
* chore: Add docstring
* fix: Clarify name of `toggleHasCheckbox()`
* fix: Ensure menu items are enabled before highlighting them