feat(editor): add highlighter (#10573)

Closes: [BS-2909](https://linear.app/affine-design/issue/BS-2909/新增highlighter)

### What's Changed!

Currently the highlighter tool is very similar to brush, but for the future, it's a standalone module.

* Added `Highlighter` element model
* Added `Highlighter` tool
* Added `Highlighter` entry to the global toolbar
This commit is contained in:
fundon
2025-03-27 08:53:26 +00:00
parent 676a8d653f
commit 2c4278058b
36 changed files with 1667 additions and 483 deletions
@@ -1,6 +1,9 @@
import { edgelessTextToolbarExtension } from '@blocksuite/affine-block-edgeless-text';
import { frameToolbarExtension } from '@blocksuite/affine-block-frame';
import { brushToolbarExtension } from '@blocksuite/affine-gfx-brush';
import {
brushToolbarExtension,
highlighterToolbarExtension,
} from '@blocksuite/affine-gfx-brush';
import { connectorToolbarExtension } from '@blocksuite/affine-gfx-connector';
import { groupToolbarExtension } from '@blocksuite/affine-gfx-group';
import { mindmapToolbarExtension } from '@blocksuite/affine-gfx-mindmap';
@@ -19,6 +22,8 @@ export const EdgelessElementToolbarExtension: ExtensionType[] = [
brushToolbarExtension,
highlighterToolbarExtension,
connectorToolbarExtension,
mindmapToolbarExtension,
@@ -4,7 +4,11 @@ import {
PresentTool,
} from '@blocksuite/affine-block-frame';
import { ConnectionOverlay } from '@blocksuite/affine-block-surface';
import { BrushTool, EraserTool } from '@blocksuite/affine-gfx-brush';
import {
BrushTool,
EraserTool,
HighlighterTool,
} from '@blocksuite/affine-gfx-brush';
import {
ConnectorFilter,
ConnectorTool,
@@ -45,6 +49,7 @@ export const EdgelessToolExtension: ExtensionType[] = [
FrameTool,
LassoTool,
PresentTool,
HighlighterTool,
];
export const EdgelessEditExtensions: ExtensionType[] = [