mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-03 02:20:19 +08:00
8006812bc0
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * In-tree icon picker for Callout blocks (emoji, app icons, images) with popup UI and editor-wide extension/service. * Callout toolbar adds background color presets, an icon-picker action, and a destructive Delete action. * **Refactor** * Replaced legacy emoji workflow with icon-based rendering, updated state, styling, and lifecycle for callouts. * **Tests** * Updated callout E2E to reflect new default icon and picker behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: L-Sun <zover.v@gmail.com>
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import {
|
|
type ViewExtensionContext,
|
|
ViewExtensionProvider,
|
|
} from '@blocksuite/affine-ext-loader';
|
|
import { SlashMenuConfigExtension } from '@blocksuite/affine-widget-slash-menu';
|
|
import { BlockViewExtension, FlavourExtension } from '@blocksuite/std';
|
|
import { literal } from 'lit/static-html.js';
|
|
|
|
import { CalloutKeymapExtension } from './callout-keymap';
|
|
import { calloutSlashMenuConfig } from './configs/slash-menu';
|
|
import { createBuiltinToolbarConfigExtension } from './configs/toolbar';
|
|
import { effects } from './effects';
|
|
|
|
export class CalloutViewExtension extends ViewExtensionProvider {
|
|
override name = 'affine-callout-block';
|
|
|
|
override effect() {
|
|
super.effect();
|
|
effects();
|
|
}
|
|
|
|
override setup(context: ViewExtensionContext) {
|
|
super.setup(context);
|
|
context.register([
|
|
FlavourExtension('affine:callout'),
|
|
BlockViewExtension('affine:callout', literal`affine-callout`),
|
|
CalloutKeymapExtension,
|
|
SlashMenuConfigExtension('affine:callout', calloutSlashMenuConfig),
|
|
...createBuiltinToolbarConfigExtension('affine:callout'),
|
|
]);
|
|
}
|
|
}
|