import { Extension } from '@tiptap/core';
import { Plugin, PluginKey } from 'prosemirror-state';

export const NoTextInput = Extension.create({
    name: 'noTextInput',
  
    addProseMirrorPlugins() {
      return [
        new Plugin({
          key: new PluginKey('noTextInput'),
          filterTransaction: (transaction) => {
            // If the transaction is adding text, stop it
            return !transaction.docChanged || transaction.steps.every((step) => {
              const { slice } = step.toJSON();
              return !slice || !slice.content.some((node: { type: string; }) => node.type === 'text');
            });
          },
        }),
      ];
    },
  });