tfrere's picture
tfrere HF Staff
chore: initial commit
561e6f0
Raw
History Blame Contribute Delete
786 Bytes
// ---------------------------------------------------------------------------
// Auto-generate slash-menu items from the component registry.
// ---------------------------------------------------------------------------
import { COMPONENTS } from "./registry";
import type { Editor } from "@tiptap/core";
export interface SlashItem {
title: string;
description: string;
icon: string;
command: (editor: Editor) => void;
}
export function getComponentSlashItems(): SlashItem[] {
return COMPONENTS.map((def) => {
const commandName = `insert${def.tag}`;
return {
title: def.label,
description: def.description,
icon: def.icon,
command: (editor: Editor) => {
(editor.chain().focus() as any)[commandName]().run();
},
};
});
}