lexical-vue
Version:
An extensible Vue 3 web text-editor based on Lexical.
33 lines (32 loc) • 1.27 kB
TypeScript
import * as __VLS_VINE from 'vue-vine/internals';
import type { CommandListenerPriority, NodeKey, TextNode } from 'lexical';
import type { MenuOption, MenuRenderProps, MenuResolution } from './shared/LexicalMenu.vine';
export interface NodeMenuPluginProps<TOption extends MenuOption> {
options: Array<TOption>;
nodeKey: NodeKey | null;
anchorClassName?: string;
commandPriority?: CommandListenerPriority;
parent?: HTMLElement;
}
type __VLS_VINE_NodeMenuPlugin_emits__ = __VLS_NormalizeEmits<__VLS_VINE.VueDefineEmits<{
close?: [];
open?: [payload: MenuResolution];
selectOption: [
payload: {
option: TOption;
textNodeContainingQuery: TextNode | null;
closeMenu: () => void;
matchingString: string;
}
];
}>>;
export declare function NodeMenuPlugin<TOption extends MenuOption>(props: __VLS_VINE.VineComponentCommonProps & NodeMenuPluginProps<TOption> & {
onClose?: __VLS_VINE_NodeMenuPlugin_emits__['close'];
onOpen?: __VLS_VINE_NodeMenuPlugin_emits__['open'];
onSelectOption: __VLS_VINE_NodeMenuPlugin_emits__['selectOption'];
}, context: {
slots: {
default: (props: MenuRenderProps<TOption>) => any;
};
}): __VLS_VINE.VueVineComponent;
export {};