Commit Graph

266 Commits

Author SHA1 Message Date
Greg Annandale 8982178139 chore(docs): switch to eslint for mdx linting/formatting
Due to poor Prettier support

https://github.com/orgs/mdx-js/discussions/2127
2026-03-31 16:52:01 +01:00
Greg Annandale 45168a66bb chore(docs): run prettier --write on docs 2026-03-31 16:11:04 +01:00
Greg Annandale 231a9b1c8d chore(docs): add Prettier config (and ignore) for docs 2026-03-31 16:04:34 +01:00
Greg Annandale f5dcfb97ca chore(docs): CSS syntax fixes 2026-03-31 15:41:30 +01:00
Greg Annandale ec19340c06 chore(docs): remove TableHeader component, simplify tables in Markdown
Component was superfluous, we can achieve the same with regular Markdown table syntax and a very small amount of CSS
2026-03-31 15:34:40 +01:00
Greg Annandale 8839c16e0b chore(docs): move all Docusuarus-related images into single dir
Removing duplicate docs/img/ dir

Adds correct favicon

Removes unneeded default Docusaurus images/assets
2026-03-31 14:58:31 +01:00
Greg Annandale 8ae59744db chore(docs): remove ClassBlack component, add individual components instead
Adds:
- CodelabImage
- CompareBlock
- TableHeader
2026-03-31 14:48:24 +01:00
Greg Annandale eb6f6c30e5 chore(docs): change path from /js/reference/ to /reference/
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/
2026-03-31 14:34:52 +01:00
Greg Annandale 50591e03e0 chore(docs): tidy Docusaurus config 2026-03-31 12:24:01 +01:00
Greg Annandale 9273512081 chore(docs): remove unused custom styles 2026-03-31 12:19:23 +01:00
Greg Annandale 350404844c chore(docs): update theme colours, remove unneeded style declarations 2026-03-31 12:12:22 +01:00
Greg Annandale ef3cea8fe4 chore(docs): allow all search engine indexing 2026-03-31 12:05:09 +01:00
Greg Annandale f6a90207fb chore(docs): fix incorrect image paths in Markdown and Image component
Both images declared through ![]() in Markdown, and using the Image component had output paths that were incorrect
2026-03-31 12:03:45 +01:00
Greg Annandale bba54681f8 chore(docs): remove unused CSS 2026-03-31 11:48:32 +01:00
Greg Annandale 15307fdc11 chore(docs): remove unneeded toc.yaml
This was leftover from the previous docs site / build process
2026-03-31 11:41:42 +01:00
Greg Annandale beb7a14e28 chore(docs): add Gulp tasks 2026-03-31 11:37:03 +01:00
Greg Annandale 4b921fbccd chore(docs): add Docusaurus supporting elements
Sidebar, index page, ToCs
2026-03-31 11:37:03 +01:00
Greg Annandale 28fe80339e chore(docs): add custom styles 2026-03-31 11:37:03 +01:00
Greg Annandale 89d608ddbb chore(docs): add Docusaurus components
For:
- Class blocks
- Codelab cards
- Homepage features
- Images
2026-03-31 11:37:03 +01:00
Greg Annandale f5d792b365 chore(docs): update docs config and paths (removing blockly/)
Also setting correct GitHub org name
2026-03-31 11:37:02 +01:00
Michael Harvey 1ad060819e feat: Stop on workspace during constrained move (#9649) 2026-03-27 09:41:39 -04:00
Rachel Fenichel 5dedd85872 chore: remove unused gulp helpers (#9651)
* chore: remove unused dev dependency gulp-insert

* chore: remove unused dev dependency gulp-series

* chore: remove unused dev dependency gulp-shell
2026-03-25 15:30:40 +00:00
Aaron Dodson 6059d1f5fc feat: Add keyboard shortcut for disconnecting the selected block (#9650) 2026-03-24 08:13:04 -07:00
github-actions[bot] 6f7d50552e release: v12.5.1 2026-03-20 17:04:50 +00:00
Aaron Dodson 1f1e2c4679 Revert "fix: Improve zoom animations (#9584)" (#9647)
This reverts commit 3acdf5e536.
2026-03-20 09:38:55 -07:00
Mike Harvey 8e6798a094 fix: visit all connection candidates in move mode (#9641)
* fix: visit all connection candidates in move mode

* fix: remove unused parameters from doc

* fix: correct findTraversalCandidate doc

* chore: simplify instance variables

* fix: remove unreachable return
2026-03-20 11:24:58 -04:00
Maribeth Moffatt 92dd086b3a chore: update repo name in blockly package (#9645) 2026-03-19 14:39:30 -04:00
github-actions[bot] ec6035e809 release: v12.5.0 2026-03-19 17:00:15 +00:00
Aaron Dodson c862b5ef0e feat: Beep when attempting constrained move on top-level block (#9635)
* feat: Beep when attempting constrained move on top-level block

* chore: Remove errant `only`

* refactor: Add and use `playErrorBeep()`
2026-03-18 12:45:01 -07:00
Aaron Dodson 92c73f62c7 fix: Fix bug that caused blocks to become disconnected when undoing deletions (#9636) 2026-03-18 13:10:37 -04:00
Aaron Dodson 83c8caca97 chore: Make JSDom a peer/dev dependency on NodeJS only (#9579)
* chore: Make JSDom a peer/dev dependency on NodeJS only

* chore: Bump closure compiler version
2026-03-17 10:22:27 -07:00
Maribeth Moffatt 6413d71257 chore: fix version command for publish (#9637) 2026-03-17 11:22:43 -04:00
Aaron Dodson de7abd0c40 fix: Remove unsafe non-null assertions (#9598) 2026-03-16 15:56:26 -07:00
Maribeth Moffatt f6f5fcc6ad chore: add workflow for versioning/publishing blockly (#9627)
* chore: add workflow for versioning/publishing blockly

* chore: add dry run option
2026-03-16 16:10:40 -04:00
Aaron Dodson a6325ed0e3 fix: Fix a bug that could cause menus to scroll incorrectly on mouseover (#9603)
* fix: Fix a bug that could cause menus to scroll incorrectly on mouseover

* refactor: Simplify CSS
2026-03-16 12:57:59 -07:00
Mike Harvey 3044298f99 feat: Move mode for stacks of blocks (#9630)
* 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
2026-03-16 12:19:59 -04:00
Aaron Dodson 25968ffbdf feat: Add keyboard shortcut to focus the workspace (#9615)
* 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
2026-03-09 13:28:34 -07:00
Aaron Dodson 09d19d8f7b feat!: Allow using Blockly in web components/shadow DOM (#9611)
* 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
2026-03-06 12:53:18 -08:00
Aaron Dodson a5a18d3894 refactor!: Move responsibility for block creation out of flyouts (#9610)
* 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
2026-03-05 12:29:39 -08:00
Aaron Dodson e65ac7f7e2 feat: Add a method to play beep tones (#9612) 2026-03-05 11:04:12 -08:00
Maribeth Moffatt 3caee2faf5 chore: improve gh-pages publishing steps (#9604)
* fix: Fix gulpfiles related to publishing GitHub pages

* chore: remove unused gulp tasks

* feat: allow passing a remote to push gh-pages to

* feat: add ability to skip syncing with main

* feat: add gh workflow to publish ghpages

* chore: update node version

---------

Co-authored-by: Aaron Dodson <aaron.dodson@raspberrypi.org>
2026-03-03 20:26:01 +00:00
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
Aaron Dodson 81c2ed6ed1 chore(deps): Update Closure compiler to the latest version (#9607) 2026-03-02 12:28:19 -08:00
Aaron Dodson 43dfe2e61f Merge pull request #9606 from RaspberryPiFoundation/main
chore: Merge `main` into `v13`
2026-03-02 12:11:51 -08:00
Aaron Dodson a16580ae26 feat: Add a keyboard shortcut for displaying the contextual menu (#9602)
* 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
2026-02-26 13:39:56 -08:00
Aaron Dodson 26d035177c chore!: Update supported Node versions (#9600)
* chore!: Update supported Node versions

* fix: Remove references to not-yet-available Node 26

* chore: Revert formatting change
2026-02-26 13:36:33 -08:00
Aaron Dodson 93c29dbe84 Merge pull request #9592 from RaspberryPiFoundation/rollup
chore: Merge `main` into `v13`
2026-02-26 13:25:27 -08:00
Aaron Dodson 589e05d4d1 fix!: Normalize Zelos connection indicators (#9565)
* fix: Normalize Zelos connection indicators

* feat: Add `IPathObject.updateReplacing()`
2026-02-26 11:27:33 -08:00
Aaron Dodson 3d78491dd9 fix: Focus nearest neighbor when deleting a focused block (#9599)
* 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
2026-02-26 10:45:35 -08:00
Aaron Dodson 3b14950a36 feat: Add dynamic keycode for primary modifier key (#9571)
* feat: Add dynamic keycode for primary modifier key

* fix: Don't duplicate constants.
2026-02-25 08:51:43 -08:00