Commit Graph

7 Commits

Author SHA1 Message Date
Aaron Dodson
acdad98653 refactor!: Use navigation rulesets instead of ASTNode to control keyboard navigation. (#8992)
* feat: Add interfaces for keyboard navigation.

* feat: Add the Navigator.

* feat: Make core types conform to INavigable.

* feat: Require FlyoutItems elements to be INavigable.

* feat: Add navigation policies for built-in types.

* refactor: Convert Marker and LineCursor to operate on INavigables instead of ASTNodes.

* chore: Delete dead code in ASTNode.

* fix: Fix the tests.

* chore: Assuage the linter.

* fix: Fix advanced build/tests.

* chore: Restore ASTNode tests.

* refactor: Move isNavigable() validation into Navigator.

* refactor: Exercise navigation instead of ASTNode.

* chore: Rename astnode_test.js to navigation_test.js.

* chore: Enable the navigation tests.

* fix: Fix bug when retrieving the first child of an empty workspace.
2025-05-07 08:47:52 -07:00
Aaron Dodson
5b103e1d79 fix: Fix bug that caused flyout items under the mouse to be selected without movement. (#8900) 2025-04-17 15:39:04 -07:00
Aaron Dodson
0ed6c82acc fix: Disallow and ignore x and y attributes for blocks in toolbox definitions. (#8785)
* fix: Disallow and ignore x and y attributes for blocks in toolbox definitions.

* chore: Clarify comment in BlockFlyoutInflater.
2025-02-27 10:55:34 -08:00
Aaron Dodson
e6e57ddc01 fix: Fix bug that caused blocks dragged from non-primary flyouts to be misplaced. (#8753)
* fix: Fix bug that caused blocks dragged from non-primary flyouts to be misplaced.

* chore: Fix docstring.
2025-02-04 15:23:03 -08:00
Aaron Dodson
75efba92e3 fix: Fix bug that prevented keyboard navigation in flyouts. (#8687)
* fix: Fix bug that prevented keyboard navigation in flyouts.

* refactor: Add an `isFocusable()` method to FlyoutItem.
2025-01-09 14:31:51 -08:00
Aaron Dodson
389dd1a1cb chore: Post-merge fixits. 2024-12-04 12:15:19 -08:00
Aaron Dodson
ec5b6e7f71 feat: Add a BlockFlyoutInflater class. (#8591)
* feat: Add a BlockFlyoutInflater class.

* fix: Fix the capacity filter callback argument name.

* fix: Fix addBlockListeners comment.

* chore: Add license.

* chore: Add TSDoc.

* refactor: Make capacity filtering a normal method.

* fix: Bind flyout filter to `this`.
2024-09-27 14:12:59 -07:00