Update docs build script to reflect this, and fix some mdx generation errors
Add .gitignore to docs/reference/ to keep generated md/mdx out of version control
Add Docusaurus redirect config for /reference/js/ -> /reference/
* 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