Files
AFFiNE-Mirror/blocksuite/affine/components/src/context-menu/focusable.ts
T
2024-12-20 15:38:06 +08:00

19 lines
414 B
TypeScript

import { computed } from '@preact/signals-core';
import { MenuItem } from './item.js';
export abstract class MenuFocusable extends MenuItem {
isFocused$ = computed(() => this.menu.currentFocused$.value === this);
override connectedCallback() {
super.connectedCallback();
this.dataset.focusable = 'true';
}
override focus() {
this.menu.focusTo(this);
}
abstract onPressEnter(): void;
}